st/mesa/glsl: set early_fragment_tests directly in shader_info
We also move EarlyFragmentTests out of the gl_shader_info struct as it is now only used by gl_shader. Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
This commit is contained in:
@@ -1815,7 +1815,7 @@ set_shader_inout_layout(struct gl_shader *shader,
|
||||
shader->info.origin_upper_left = state->fs_origin_upper_left;
|
||||
shader->info.ARB_fragment_coord_conventions_enable =
|
||||
state->ARB_fragment_coord_conventions_enable;
|
||||
shader->info.EarlyFragmentTests = state->fs_early_fragment_tests;
|
||||
shader->EarlyFragmentTests = state->fs_early_fragment_tests;
|
||||
shader->info.InnerCoverage = state->fs_inner_coverage;
|
||||
shader->info.PostDepthCoverage = state->fs_post_depth_coverage;
|
||||
shader->BlendSupport = state->fs_blend_support;
|
||||
|
@@ -1887,8 +1887,8 @@ link_fs_inout_layout_qualifiers(struct gl_shader_program *prog,
|
||||
shader->info.pixel_center_integer;
|
||||
}
|
||||
|
||||
linked_shader->info.EarlyFragmentTests |=
|
||||
shader->info.EarlyFragmentTests;
|
||||
linked_shader->Program->info.fs.early_fragment_tests |=
|
||||
shader->EarlyFragmentTests;
|
||||
linked_shader->info.InnerCoverage |=
|
||||
shader->info.InnerCoverage;
|
||||
linked_shader->Program->info.fs.post_depth_coverage |=
|
||||
|
@@ -2315,12 +2315,6 @@ struct gl_shader_info
|
||||
GLenum OutputType;
|
||||
} Geom;
|
||||
|
||||
/**
|
||||
* Whether early fragment tests are enabled as defined by
|
||||
* ARB_shader_image_load_store.
|
||||
*/
|
||||
bool EarlyFragmentTests;
|
||||
|
||||
/**
|
||||
* Compute shader state from ARB_compute_shader and
|
||||
* ARB_compute_variable_group_size layout qualifiers.
|
||||
@@ -2434,6 +2428,12 @@ struct gl_shader
|
||||
*/
|
||||
GLbitfield BlendSupport;
|
||||
|
||||
/**
|
||||
* Whether early fragment tests are enabled as defined by
|
||||
* ARB_shader_image_load_store.
|
||||
*/
|
||||
bool EarlyFragmentTests;
|
||||
|
||||
struct gl_shader_info info;
|
||||
};
|
||||
|
||||
|
@@ -2232,7 +2232,6 @@ _mesa_copy_linked_program_data(const struct gl_shader_program *src,
|
||||
}
|
||||
case MESA_SHADER_FRAGMENT: {
|
||||
dst->info.fs.depth_layout = src->FragDepthLayout;
|
||||
dst->info.fs.early_fragment_tests = dst_sh->info.EarlyFragmentTests;
|
||||
dst->info.fs.inner_coverage = dst_sh->info.InnerCoverage;
|
||||
dst->info.fs.post_depth_coverage = dst_sh->info.PostDepthCoverage;
|
||||
break;
|
||||
|
@@ -6151,7 +6151,7 @@ st_translate_program(
|
||||
}
|
||||
|
||||
if (procType == PIPE_SHADER_FRAGMENT) {
|
||||
if (program->shader->info.EarlyFragmentTests)
|
||||
if (program->shader->Program->info.fs.early_fragment_tests)
|
||||
ureg_property(ureg, TGSI_PROPERTY_FS_EARLY_DEPTH_STENCIL, 1);
|
||||
|
||||
if (proginfo->info.inputs_read & VARYING_BIT_POS) {
|
||||
|
Reference in New Issue
Block a user