This extension is not properly tested (testing for GL_ARB_fragment_shader_interlock is not sufficient), and since this was noted in review on August 28th no tests have been sent. Revert "i965: Add INTEL_fragment_shader_ordering support." Revert "mesa: Add GL/GLSL plumbing for INTEL_fragment_shader_ordering" This reverts committags/mesa-18.3.0-rc603ecec9ed2
. This reverts commit119435c877
. Cc: mesa-stable@lists.freedesktop.org Acked-by: Jason Ekstrand <jason@jlekstrand.net> Acked-by: Eric Anholt <eric@anholt.net> (cherry picked from commit017199d2d2
)
@@ -61,7 +61,6 @@ Note: some of the new features are only available with certain drivers. | |||
<li>GL_EXT_vertex_attrib_64bit on i965, nvc0, radeonsi.</li> | |||
<li>GL_EXT_window_rectangles on radeonsi.</li> | |||
<li>GL_KHR_texture_compression_astc_sliced_3d on radeonsi.</li> | |||
<li>GL_INTEL_fragment_shader_ordering on i965.</li> | |||
<li>GL_NV_fragment_shader_interlock on i965.</li> | |||
<li>EGL_EXT_device_base for all drivers.</li> | |||
<li>EGL_EXT_device_drm for all drivers.</li> |
@@ -525,12 +525,6 @@ supports_nv_fragment_shader_interlock(const _mesa_glsl_parse_state *state) | |||
return state->NV_fragment_shader_interlock_enable; | |||
} | |||
static bool | |||
supports_intel_fragment_shader_ordering(const _mesa_glsl_parse_state *state) | |||
{ | |||
return state->INTEL_fragment_shader_ordering_enable; | |||
} | |||
static bool | |||
shader_clock(const _mesa_glsl_parse_state *state) | |||
{ | |||
@@ -1311,11 +1305,6 @@ builtin_builder::create_intrinsics() | |||
supports_arb_fragment_shader_interlock, | |||
ir_intrinsic_end_invocation_interlock), NULL); | |||
add_function("__intrinsic_begin_fragment_shader_ordering", | |||
_invocation_interlock_intrinsic( | |||
supports_intel_fragment_shader_ordering, | |||
ir_intrinsic_begin_fragment_shader_ordering), NULL); | |||
add_function("__intrinsic_shader_clock", | |||
_shader_clock_intrinsic(shader_clock, | |||
glsl_type::uvec2_type), | |||
@@ -3430,12 +3419,6 @@ builtin_builder::create_builtins() | |||
supports_nv_fragment_shader_interlock), | |||
NULL); | |||
add_function("beginFragmentShaderOrderingINTEL", | |||
_invocation_interlock( | |||
"__intrinsic_begin_fragment_shader_ordering", | |||
supports_intel_fragment_shader_ordering), | |||
NULL); | |||
add_function("anyInvocationARB", | |||
_vote("__intrinsic_vote_any", vote), | |||
NULL); |
@@ -727,7 +727,6 @@ static const _mesa_glsl_extension _mesa_glsl_supported_extensions[] = { | |||
EXT_AEP(EXT_texture_buffer), | |||
EXT_AEP(EXT_texture_cube_map_array), | |||
EXT(INTEL_conservative_rasterization), | |||
EXT(INTEL_fragment_shader_ordering), | |||
EXT(INTEL_shader_atomic_float_minmax), | |||
EXT(MESA_shader_integer_functions), | |||
EXT(NV_fragment_shader_interlock), |
@@ -812,8 +812,6 @@ struct _mesa_glsl_parse_state { | |||
bool EXT_texture_cube_map_array_warn; | |||
bool INTEL_conservative_rasterization_enable; | |||
bool INTEL_conservative_rasterization_warn; | |||
bool INTEL_fragment_shader_ordering_enable; | |||
bool INTEL_fragment_shader_ordering_warn; | |||
bool INTEL_shader_atomic_float_minmax_enable; | |||
bool INTEL_shader_atomic_float_minmax_warn; | |||
bool MESA_shader_integer_functions_enable; |
@@ -742,9 +742,6 @@ nir_visitor::visit(ir_call *ir) | |||
case ir_intrinsic_end_invocation_interlock: | |||
op = nir_intrinsic_end_invocation_interlock; | |||
break; | |||
case ir_intrinsic_begin_fragment_shader_ordering: | |||
op = nir_intrinsic_begin_fragment_shader_ordering; | |||
break; | |||
case ir_intrinsic_group_memory_barrier: | |||
op = nir_intrinsic_group_memory_barrier; | |||
break; | |||
@@ -983,9 +980,6 @@ nir_visitor::visit(ir_call *ir) | |||
case nir_intrinsic_end_invocation_interlock: | |||
nir_builder_instr_insert(&b, &instr->instr); | |||
break; | |||
case nir_intrinsic_begin_fragment_shader_ordering: | |||
nir_builder_instr_insert(&b, &instr->instr); | |||
break; | |||
case nir_intrinsic_store_ssbo: { | |||
exec_node *param = ir->actual_parameters.get_head(); | |||
ir_rvalue *block = ((ir_instruction *)param)->as_rvalue(); |
@@ -1122,7 +1122,6 @@ enum ir_intrinsic_id { | |||
ir_intrinsic_memory_barrier_shared, | |||
ir_intrinsic_begin_invocation_interlock, | |||
ir_intrinsic_end_invocation_interlock, | |||
ir_intrinsic_begin_fragment_shader_ordering, | |||
ir_intrinsic_vote_all, | |||
ir_intrinsic_vote_any, |
@@ -199,7 +199,6 @@ barrier("memory_barrier_image") | |||
barrier("memory_barrier_shared") | |||
barrier("begin_invocation_interlock") | |||
barrier("end_invocation_interlock") | |||
barrier("begin_fragment_shader_ordering") | |||
# A conditional discard, with a single boolean source. | |||
intrinsic("discard_if", src_comp=[1]) |
@@ -4804,7 +4804,6 @@ fs_visitor::nir_emit_intrinsic(const fs_builder &bld, nir_intrinsic_instr *instr | |||
break; | |||
} | |||
case nir_intrinsic_begin_fragment_shader_ordering: | |||
case nir_intrinsic_begin_invocation_interlock: { | |||
const fs_builder ubld = bld.group(8, 0); | |||
const fs_reg tmp = ubld.vgrf(BRW_REGISTER_TYPE_UD, 2); |
@@ -247,7 +247,6 @@ intelInitExtensions(struct gl_context *ctx) | |||
ctx->Extensions.OES_primitive_bounding_box = true; | |||
ctx->Extensions.OES_texture_buffer = true; | |||
ctx->Extensions.ARB_fragment_shader_interlock = true; | |||
ctx->Extensions.INTEL_fragment_shader_ordering = true; | |||
if (can_do_pipelined_register_writes(brw->screen)) { | |||
ctx->Extensions.ARB_draw_indirect = true; |
@@ -317,7 +317,6 @@ EXT(IBM_texture_mirrored_repeat , dummy_true | |||
EXT(INGR_blend_func_separate , EXT_blend_func_separate , GLL, x , x , x , 1999) | |||
EXT(INTEL_conservative_rasterization , INTEL_conservative_rasterization , x , GLC, x , 31, 2013) | |||
EXT(INTEL_fragment_shader_ordering , INTEL_fragment_shader_ordering , GLL, GLC, x , x , 2013) | |||
EXT(INTEL_performance_query , INTEL_performance_query , GLL, GLC, x , ES2, 2013) | |||
EXT(INTEL_shader_atomic_float_minmax , INTEL_shader_atomic_float_minmax , GLL, GLC, x , x , 2018) | |||
@@ -4296,7 +4296,6 @@ struct gl_extensions | |||
GLboolean ATI_fragment_shader; | |||
GLboolean GREMEDY_string_marker; | |||
GLboolean INTEL_conservative_rasterization; | |||
GLboolean INTEL_fragment_shader_ordering; | |||
GLboolean INTEL_performance_query; | |||
GLboolean INTEL_shader_atomic_float_minmax; | |||
GLboolean KHR_blend_equation_advanced; |