mesa/glsl: move uses_gl_fragcoord to gl_shader

This is only used by gl_linked_shader as a temp during linking
so use a temp there instead.

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
This commit is contained in:
Timothy Arceri
2016-11-22 18:37:06 +11:00
parent 66a6050ad8
commit ceeedb9bb0
3 changed files with 7 additions and 9 deletions

View File

@@ -1809,7 +1809,7 @@ set_shader_inout_layout(struct gl_shader *shader,
case MESA_SHADER_FRAGMENT: case MESA_SHADER_FRAGMENT:
shader->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->uses_gl_fragcoord = state->fs_uses_gl_fragcoord;
shader->info.pixel_center_integer = state->fs_pixel_center_integer; shader->info.pixel_center_integer = state->fs_pixel_center_integer;
shader->info.origin_upper_left = state->fs_origin_upper_left; shader->info.origin_upper_left = state->fs_origin_upper_left;
shader->ARB_fragment_coord_conventions_enable = shader->ARB_fragment_coord_conventions_enable =

View File

@@ -1827,7 +1827,7 @@ link_fs_inout_layout_qualifiers(struct gl_shader_program *prog,
unsigned num_shaders) unsigned num_shaders)
{ {
bool redeclares_gl_fragcoord = false; bool redeclares_gl_fragcoord = false;
linked_shader->info.uses_gl_fragcoord = false; bool uses_gl_fragcoord = false;
linked_shader->info.origin_upper_left = false; linked_shader->info.origin_upper_left = false;
linked_shader->info.pixel_center_integer = false; linked_shader->info.pixel_center_integer = false;
@@ -1845,9 +1845,9 @@ link_fs_inout_layout_qualifiers(struct gl_shader_program *prog,
* that have a static use gl_FragCoord." * that have a static use gl_FragCoord."
*/ */
if ((redeclares_gl_fragcoord && !shader->redeclares_gl_fragcoord && if ((redeclares_gl_fragcoord && !shader->redeclares_gl_fragcoord &&
shader->info.uses_gl_fragcoord) shader->uses_gl_fragcoord)
|| (shader->redeclares_gl_fragcoord && !redeclares_gl_fragcoord && || (shader->redeclares_gl_fragcoord && !redeclares_gl_fragcoord &&
linked_shader->info.uses_gl_fragcoord)) { uses_gl_fragcoord)) {
linker_error(prog, "fragment shader defined with conflicting " linker_error(prog, "fragment shader defined with conflicting "
"layout qualifiers for gl_FragCoord\n"); "layout qualifiers for gl_FragCoord\n");
} }
@@ -1871,11 +1871,9 @@ link_fs_inout_layout_qualifiers(struct gl_shader_program *prog,
* are multiple redeclarations, all the fields except uses_gl_fragcoord * are multiple redeclarations, all the fields except uses_gl_fragcoord
* are already known to be the same. * are already known to be the same.
*/ */
if (shader->redeclares_gl_fragcoord || shader->info.uses_gl_fragcoord) { if (shader->redeclares_gl_fragcoord || shader->uses_gl_fragcoord) {
redeclares_gl_fragcoord = shader->redeclares_gl_fragcoord; redeclares_gl_fragcoord = shader->redeclares_gl_fragcoord;
linked_shader->info.uses_gl_fragcoord = uses_gl_fragcoord |= shader->uses_gl_fragcoord;
linked_shader->info.uses_gl_fragcoord ||
shader->info.uses_gl_fragcoord;
linked_shader->info.origin_upper_left = linked_shader->info.origin_upper_left =
shader->info.origin_upper_left; shader->info.origin_upper_left;
linked_shader->info.pixel_center_integer = linked_shader->info.pixel_center_integer =

View File

@@ -2242,7 +2242,6 @@ struct gl_subroutine_function
*/ */
struct gl_shader_info struct gl_shader_info
{ {
bool uses_gl_fragcoord;
bool PostDepthCoverage; bool PostDepthCoverage;
bool InnerCoverage; bool InnerCoverage;
@@ -2435,6 +2434,7 @@ struct gl_shader
bool ARB_fragment_coord_conventions_enable; bool ARB_fragment_coord_conventions_enable;
bool redeclares_gl_fragcoord; bool redeclares_gl_fragcoord;
bool uses_gl_fragcoord;
struct gl_shader_info info; struct gl_shader_info info;
}; };