gsdx-ogl: hardware unit only support normalization of 4 bytes...

(At least on recent AMD GPU)
This commit is contained in:
Gregory Hainaut 2015-04-27 18:50:59 +02:00
parent 301fe869c7
commit 46ff4dc3d3
3 changed files with 5 additions and 5 deletions

View File

@ -208,7 +208,7 @@ bool GSDeviceOGL::Create(GSWnd* wnd)
{2 , GL_UNSIGNED_SHORT , GL_FALSE , sizeof(GSVertex) , (const GLvoid*)(16) } , {2 , GL_UNSIGNED_SHORT , GL_FALSE , sizeof(GSVertex) , (const GLvoid*)(16) } ,
{1 , GL_UNSIGNED_INT , GL_FALSE , sizeof(GSVertex) , (const GLvoid*)(20) } , {1 , GL_UNSIGNED_INT , GL_FALSE , sizeof(GSVertex) , (const GLvoid*)(20) } ,
{2 , GL_UNSIGNED_SHORT , GL_FALSE , sizeof(GSVertex) , (const GLvoid*)(24) } , {2 , GL_UNSIGNED_SHORT , GL_FALSE , sizeof(GSVertex) , (const GLvoid*)(24) } ,
{1 , GL_UNSIGNED_BYTE , GL_TRUE , sizeof(GSVertex) , (const GLvoid*)(28) } , {4 , GL_UNSIGNED_BYTE , GL_TRUE , sizeof(GSVertex) , (const GLvoid*)(28) } , // Only 1 byte is useful but hardware unit only support 4B
}; };
m_va = new GSVertexBufferStateOGL(sizeof(GSVertexPT1), il_convert, countof(il_convert)); m_va = new GSVertexBufferStateOGL(sizeof(GSVertexPT1), il_convert, countof(il_convert));

View File

@ -14,7 +14,7 @@ layout(location = 3) in float i_q;
layout(location = 4) in uvec2 i_p; layout(location = 4) in uvec2 i_p;
layout(location = 5) in uint i_z; layout(location = 5) in uint i_z;
layout(location = 6) in uvec2 i_uv; layout(location = 6) in uvec2 i_uv;
layout(location = 7) in float i_f; layout(location = 7) in vec4 i_f;
out SHADER out SHADER
{ {
@ -145,7 +145,7 @@ void vs_main()
VSout_c = i_c; VSout_c = i_c;
VSout_fc = i_c; VSout_fc = i_c;
VSout_t.z = i_f; VSout_t.z = i_f.x;
} }
#endif #endif

View File

@ -465,7 +465,7 @@ static const char* tfx_vgs_glsl =
"layout(location = 4) in uvec2 i_p;\n" "layout(location = 4) in uvec2 i_p;\n"
"layout(location = 5) in uint i_z;\n" "layout(location = 5) in uint i_z;\n"
"layout(location = 6) in uvec2 i_uv;\n" "layout(location = 6) in uvec2 i_uv;\n"
"layout(location = 7) in float i_f;\n" "layout(location = 7) in vec4 i_f;\n"
"\n" "\n"
"out SHADER\n" "out SHADER\n"
"{\n" "{\n"
@ -596,7 +596,7 @@ static const char* tfx_vgs_glsl =
"\n" "\n"
" VSout_c = i_c;\n" " VSout_c = i_c;\n"
" VSout_fc = i_c;\n" " VSout_fc = i_c;\n"
" VSout_t.z = i_f;\n" " VSout_t.z = i_f.x;\n"
"}\n" "}\n"
"\n" "\n"
"#endif\n" "#endif\n"