mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-03-14 01:27:00 +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"
|
||||
"{\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 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"
|
||||
" {\n"
|
||||
" ret = sext(ivec4(result));\n"
|
||||
|
||||
" if (desc.type == VTX_FMT_SNORM16)\n"
|
||||
" {\n"
|
||||
" ret = ret * 2. + 1.;\n"
|
||||
" }\n"
|
||||
" ret = fma(vec4(0.5), vec4(desc.type == VTX_FMT_SNORM16), ret);\n"
|
||||
" }\n"
|
||||
" else if (desc.type == VTX_FMT_FLOAT32)\n"
|
||||
" {\n"
|
||||
|
Loading…
x
Reference in New Issue
Block a user