mesa/glsl: move redeclares_gl_fragcoord to gl_shader
This is never used in gl_linked_shader other than as a temp during linking so just use a temp instead. Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
This commit is contained in:
parent
cc7ecce253
commit
66a6050ad8
|
@ -1808,8 +1808,7 @@ set_shader_inout_layout(struct gl_shader *shader,
|
|||
break;
|
||||
|
||||
case MESA_SHADER_FRAGMENT:
|
||||
shader->info.redeclares_gl_fragcoord =
|
||||
state->fs_redeclares_gl_fragcoord;
|
||||
shader->redeclares_gl_fragcoord = state->fs_redeclares_gl_fragcoord;
|
||||
shader->info.uses_gl_fragcoord = state->fs_uses_gl_fragcoord;
|
||||
shader->info.pixel_center_integer = state->fs_pixel_center_integer;
|
||||
shader->info.origin_upper_left = state->fs_origin_upper_left;
|
||||
|
|
|
@ -1826,7 +1826,7 @@ link_fs_inout_layout_qualifiers(struct gl_shader_program *prog,
|
|||
struct gl_shader **shader_list,
|
||||
unsigned num_shaders)
|
||||
{
|
||||
linked_shader->info.redeclares_gl_fragcoord = false;
|
||||
bool redeclares_gl_fragcoord = false;
|
||||
linked_shader->info.uses_gl_fragcoord = false;
|
||||
linked_shader->info.origin_upper_left = false;
|
||||
linked_shader->info.pixel_center_integer = false;
|
||||
|
@ -1844,12 +1844,10 @@ link_fs_inout_layout_qualifiers(struct gl_shader_program *prog,
|
|||
* it must be redeclared in all the fragment shaders in that program
|
||||
* that have a static use gl_FragCoord."
|
||||
*/
|
||||
if ((linked_shader->info.redeclares_gl_fragcoord
|
||||
&& !shader->info.redeclares_gl_fragcoord
|
||||
&& shader->info.uses_gl_fragcoord)
|
||||
|| (shader->info.redeclares_gl_fragcoord
|
||||
&& !linked_shader->info.redeclares_gl_fragcoord
|
||||
&& linked_shader->info.uses_gl_fragcoord)) {
|
||||
if ((redeclares_gl_fragcoord && !shader->redeclares_gl_fragcoord &&
|
||||
shader->info.uses_gl_fragcoord)
|
||||
|| (shader->redeclares_gl_fragcoord && !redeclares_gl_fragcoord &&
|
||||
linked_shader->info.uses_gl_fragcoord)) {
|
||||
linker_error(prog, "fragment shader defined with conflicting "
|
||||
"layout qualifiers for gl_FragCoord\n");
|
||||
}
|
||||
|
@ -1859,8 +1857,7 @@ link_fs_inout_layout_qualifiers(struct gl_shader_program *prog,
|
|||
* "All redeclarations of gl_FragCoord in all fragment shaders in a
|
||||
* single program must have the same set of qualifiers."
|
||||
*/
|
||||
if (linked_shader->info.redeclares_gl_fragcoord &&
|
||||
shader->info.redeclares_gl_fragcoord &&
|
||||
if (redeclares_gl_fragcoord && shader->redeclares_gl_fragcoord &&
|
||||
(shader->info.origin_upper_left !=
|
||||
linked_shader->info.origin_upper_left ||
|
||||
shader->info.pixel_center_integer !=
|
||||
|
@ -1874,10 +1871,8 @@ link_fs_inout_layout_qualifiers(struct gl_shader_program *prog,
|
|||
* are multiple redeclarations, all the fields except uses_gl_fragcoord
|
||||
* are already known to be the same.
|
||||
*/
|
||||
if (shader->info.redeclares_gl_fragcoord ||
|
||||
shader->info.uses_gl_fragcoord) {
|
||||
linked_shader->info.redeclares_gl_fragcoord =
|
||||
shader->info.redeclares_gl_fragcoord;
|
||||
if (shader->redeclares_gl_fragcoord || shader->info.uses_gl_fragcoord) {
|
||||
redeclares_gl_fragcoord = shader->redeclares_gl_fragcoord;
|
||||
linked_shader->info.uses_gl_fragcoord =
|
||||
linked_shader->info.uses_gl_fragcoord ||
|
||||
shader->info.uses_gl_fragcoord;
|
||||
|
|
|
@ -2243,7 +2243,6 @@ struct gl_subroutine_function
|
|||
struct gl_shader_info
|
||||
{
|
||||
bool uses_gl_fragcoord;
|
||||
bool redeclares_gl_fragcoord;
|
||||
bool PostDepthCoverage;
|
||||
bool InnerCoverage;
|
||||
|
||||
|
@ -2435,6 +2434,8 @@ struct gl_shader
|
|||
|
||||
bool ARB_fragment_coord_conventions_enable;
|
||||
|
||||
bool redeclares_gl_fragcoord;
|
||||
|
||||
struct gl_shader_info info;
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in New Issue