nir, intel: Move use_scoped_memory_barrier to nir_options
This option will be used later by GLSL, so move to a common struct. Because nir_options is filled in the compiler instead of the Vulkan driver, fix that up. GLSL will ignore that for now. Reviewed-by: Jason Ekstrand <jason@jlekstrand.net> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3913> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3913>
This commit is contained in:

committed by
Marge Bot

parent
6be766336a
commit
956e4b2d37
@@ -2921,6 +2921,11 @@ typedef struct nir_shader_compiler_options {
|
||||
*/
|
||||
bool has_imul24;
|
||||
|
||||
/* Whether to generate only scoped_memory_barrier intrinsics instead of the
|
||||
* set of memory barrier intrinsics based on GLSL.
|
||||
*/
|
||||
bool use_scoped_memory_barrier;
|
||||
|
||||
/**
|
||||
* Is this the Intel vec4 backend?
|
||||
*
|
||||
|
@@ -67,11 +67,6 @@ struct spirv_to_nir_options {
|
||||
*/
|
||||
bool frag_coord_is_sysval;
|
||||
|
||||
/* Whether to generate only scoped_memory_barrier intrinsics instead of the
|
||||
* set of memory barrier intrinsics based on GLSL.
|
||||
*/
|
||||
bool use_scoped_memory_barrier;
|
||||
|
||||
struct spirv_supported_capabilities caps;
|
||||
|
||||
/* Address format for various kinds of pointers. */
|
||||
|
@@ -3576,7 +3576,7 @@ void
|
||||
vtn_emit_memory_barrier(struct vtn_builder *b, SpvScope scope,
|
||||
SpvMemorySemanticsMask semantics)
|
||||
{
|
||||
if (b->options->use_scoped_memory_barrier) {
|
||||
if (b->shader->options->use_scoped_memory_barrier) {
|
||||
vtn_emit_scoped_memory_barrier(b, scope, semantics);
|
||||
return;
|
||||
}
|
||||
|
@@ -47,7 +47,8 @@
|
||||
.vectorize_io = true, \
|
||||
.use_interpolated_input_intrinsics = true, \
|
||||
.vertex_id_zero_based = true, \
|
||||
.lower_base_vertex = true
|
||||
.lower_base_vertex = true, \
|
||||
.use_scoped_memory_barrier = true
|
||||
|
||||
#define COMMON_SCALAR_OPTIONS \
|
||||
.lower_to_scalar = true, \
|
||||
|
@@ -160,7 +160,6 @@ anv_shader_compile_to_nir(struct anv_device *device,
|
||||
};
|
||||
struct spirv_to_nir_options spirv_options = {
|
||||
.frag_coord_is_sysval = true,
|
||||
.use_scoped_memory_barrier = true,
|
||||
.caps = {
|
||||
.demote_to_helper_invocation = true,
|
||||
.derivative_group = true,
|
||||
|
Reference in New Issue
Block a user