mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-03-29 22:20:48 +00:00
rsx: Optimize VTX_FMT_SNORM16 decoding
- Cuts down SNORM16 overhead by ~65%
This commit is contained in:
parent
8181498d86
commit
3e923b4993
@ -267,7 +267,7 @@ namespace glsl
|
|||||||
"vec4 fetch_attribute(const in attribute_desc desc, const in int vertex_id, usamplerBuffer input_stream)\n"
|
"vec4 fetch_attribute(const in attribute_desc desc, const in int vertex_id, usamplerBuffer input_stream)\n"
|
||||||
"{\n"
|
"{\n"
|
||||||
" const int elem_size_table[] = { 2, 4, 2, 1, 2, 4, 1 };\n"
|
" const int elem_size_table[] = { 2, 4, 2, 1, 2, 4, 1 };\n"
|
||||||
" const float scaling_table[] = { 65535., 1., 1., 255., 1., 32767., 1. };\n"
|
" const float scaling_table[] = { 32767.5, 1., 1., 255., 1., 32767., 1. };\n"
|
||||||
" const int elem_size = elem_size_table[desc.type];\n"
|
" const int elem_size = elem_size_table[desc.type];\n"
|
||||||
" const vec4 scale = scaling_table[desc.type].xxxx;\n\n"
|
" const vec4 scale = scaling_table[desc.type].xxxx;\n\n"
|
||||||
|
|
||||||
@ -298,11 +298,7 @@ namespace glsl
|
|||||||
" if (desc.type == VTX_FMT_SNORM16 || desc.type == VTX_FMT_SINT16)\n"
|
" if (desc.type == VTX_FMT_SNORM16 || desc.type == VTX_FMT_SINT16)\n"
|
||||||
" {\n"
|
" {\n"
|
||||||
" ret = sext(ivec4(result));\n"
|
" ret = sext(ivec4(result));\n"
|
||||||
|
" ret = fma(vec4(0.5), vec4(desc.type == VTX_FMT_SNORM16), ret);\n"
|
||||||
" if (desc.type == VTX_FMT_SNORM16)\n"
|
|
||||||
" {\n"
|
|
||||||
" ret = ret * 2. + 1.;\n"
|
|
||||||
" }\n"
|
|
||||||
" }\n"
|
" }\n"
|
||||||
" else if (desc.type == VTX_FMT_FLOAT32)\n"
|
" else if (desc.type == VTX_FMT_FLOAT32)\n"
|
||||||
" {\n"
|
" {\n"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user