This change only implements case-sensitivity of technique keywords and related checks when corresponding profile is used. My immediate plan is to add some synthetic type for technique variables, for example as {object, void}, then add named techniques as variables. This is useful because these names are participating in global scope, and should not collide with normal variables. After that "pass_list" will be split, at least in two variants because of how much d3d9 syntax differs. Some trivial changes will be need later to have some top level fx compilation helper that considers only fx objects and calls ps/vs/gs compiler to create inner shader blobs on same original source.
--
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/111
nVidia's GLSL compiler spits out a warning if a value is potentially
used without being initialized. This affects many of wined3d's GLSL
shaders, as either some element of the (e.g.) vs_out array are not
initialized, or individual vector components remain unwritten to.
As a quick way of working around this, initialize all vs_out, gs_out,
and temporary Rn registers to vec4(0,0,0,0). This gets rid of all of the
warnings in the cases I tried.
(A more complete solution would probably track if we're initialising
these, and only add what is required. Or would just disable the warning
somehow.)
Some example warnings (from a shader in the 'Pharaoh: A New Era' demo):
```
0264:fixme:d3d_shader:print_glsl_info_log Info log received from GLSL shader #3:
0264:fixme:d3d_shader:print_glsl_info_log Vertex info
0264:fixme:d3d_shader:print_glsl_info_log -----------
0264:fixme:d3d_shader:print_glsl_info_log 0(28) : warning C7050: "vs_out[2].zw" might be used before being initialized
0264:fixme:d3d_shader:print_glsl_info_log 0(28) : warning C7050: "vs_out[5].w" might be used before being initialized
0264:fixme:d3d_shader:print_glsl_info_log 0(28) : warning C7050: "vs_out[7]" might be used before being initialized
0264:fixme:d3d_shader:print_glsl_info_log 0(28) : warning C7050: "vs_out[8]" might be used before being initialized
0264:fixme:d3d_shader:print_glsl_info_log 0(28) : warning C7050: "vs_out[9]" might be used before being initialized
0264:fixme:d3d_shader:print_glsl_info_log 0(28) : warning C7050: "vs_out[10]" might be used before being initialized
0264:fixme:d3d_shader:print_glsl_info_log 0(28) : warning C7050: "vs_out[11]" might be used before being initialized
0264:fixme:d3d_shader:print_glsl_info_log 0(28) : warning C7050: "vs_out[12]" might be used before being initialized
0264:fixme:d3d_shader:print_glsl_info_log 0(28) : warning C7050: "vs_out[13]" might be used before being initialized
0264:fixme:d3d_shader:print_glsl_info_log 0(28) : warning C7050: "vs_out[14]" might be used before being initialized
0264:fixme:d3d_shader:print_glsl_info_log 0(28) : warning C7050: "vs_out[15]" might be used before being initialized
```
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/2260
--
v2: ntdll: Add return address information in __wine_debug_context.
ntdll: Add file and line information in __wine_debug_context.
ntdll: Introduce struct __wine_debug_context for extensible debug info.
https://gitlab.winehq.org/wine/wine/-/merge_requests/2274