spirv: Drop the constant_as_global as option
Reviewed-by: Eric Anholt <eric@anholt.net> Reviewed-by: Jesse Natalie <jenatali@microsoft.com> Reviewed-by: Karol Herbst <kherbst@redhat.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6379>
This commit is contained in:

committed by
Marge Bot

parent
26a4c8f375
commit
6678f1e81c
@@ -80,12 +80,6 @@ struct spirv_to_nir_options {
|
|||||||
nir_address_format temp_addr_format;
|
nir_address_format temp_addr_format;
|
||||||
nir_address_format constant_addr_format;
|
nir_address_format constant_addr_format;
|
||||||
|
|
||||||
/* Whether UniformConstant memory should be treated as normal global memory.
|
|
||||||
* This is usefull for CL 2.0 implementations with fine grain system SVM
|
|
||||||
* support.
|
|
||||||
*/
|
|
||||||
bool constant_as_global;
|
|
||||||
|
|
||||||
struct {
|
struct {
|
||||||
void (*func)(void *private_data,
|
void (*func)(void *private_data,
|
||||||
enum nir_spirv_debug_level level,
|
enum nir_spirv_debug_level level,
|
||||||
|
@@ -137,7 +137,6 @@ int main(int argc, char **argv)
|
|||||||
spirv_opts.caps.int16 = true;
|
spirv_opts.caps.int16 = true;
|
||||||
spirv_opts.caps.int64 = true;
|
spirv_opts.caps.int64 = true;
|
||||||
spirv_opts.caps.kernel = true;
|
spirv_opts.caps.kernel = true;
|
||||||
spirv_opts.constant_as_global = true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
nir_shader *nir = spirv_to_nir(map, word_count, NULL, 0,
|
nir_shader *nir = spirv_to_nir(map, word_count, NULL, 0,
|
||||||
|
@@ -4481,10 +4481,8 @@ vtn_handle_preamble_instruction(struct vtn_builder *b, SpvOp opcode,
|
|||||||
assert(nir_address_format_num_components(b->options->global_addr_format) == 1);
|
assert(nir_address_format_num_components(b->options->global_addr_format) == 1);
|
||||||
assert(nir_address_format_bit_size(b->options->shared_addr_format) == 32);
|
assert(nir_address_format_bit_size(b->options->shared_addr_format) == 32);
|
||||||
assert(nir_address_format_num_components(b->options->shared_addr_format) == 1);
|
assert(nir_address_format_num_components(b->options->shared_addr_format) == 1);
|
||||||
if (!b->options->constant_as_global) {
|
assert(nir_address_format_bit_size(b->options->constant_addr_format) == 32);
|
||||||
assert(nir_address_format_bit_size(b->options->constant_addr_format) == 32);
|
assert(nir_address_format_num_components(b->options->constant_addr_format) == 1);
|
||||||
assert(nir_address_format_num_components(b->options->constant_addr_format) == 1);
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
case SpvAddressingModelPhysical64:
|
case SpvAddressingModelPhysical64:
|
||||||
vtn_fail_if(b->shader->info.stage != MESA_SHADER_KERNEL,
|
vtn_fail_if(b->shader->info.stage != MESA_SHADER_KERNEL,
|
||||||
@@ -4495,10 +4493,8 @@ vtn_handle_preamble_instruction(struct vtn_builder *b, SpvOp opcode,
|
|||||||
assert(nir_address_format_num_components(b->options->global_addr_format) == 1);
|
assert(nir_address_format_num_components(b->options->global_addr_format) == 1);
|
||||||
assert(nir_address_format_bit_size(b->options->shared_addr_format) == 64);
|
assert(nir_address_format_bit_size(b->options->shared_addr_format) == 64);
|
||||||
assert(nir_address_format_num_components(b->options->shared_addr_format) == 1);
|
assert(nir_address_format_num_components(b->options->shared_addr_format) == 1);
|
||||||
if (!b->options->constant_as_global) {
|
assert(nir_address_format_bit_size(b->options->constant_addr_format) == 64);
|
||||||
assert(nir_address_format_bit_size(b->options->constant_addr_format) == 64);
|
assert(nir_address_format_num_components(b->options->constant_addr_format) == 1);
|
||||||
assert(nir_address_format_num_components(b->options->constant_addr_format) == 1);
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
case SpvAddressingModelLogical:
|
case SpvAddressingModelLogical:
|
||||||
vtn_fail_if(b->shader->info.stage == MESA_SHADER_KERNEL,
|
vtn_fail_if(b->shader->info.stage == MESA_SHADER_KERNEL,
|
||||||
|
@@ -1803,13 +1803,8 @@ vtn_storage_class_to_mode(struct vtn_builder *b,
|
|||||||
break;
|
break;
|
||||||
case SpvStorageClassUniformConstant:
|
case SpvStorageClassUniformConstant:
|
||||||
if (b->shader->info.stage == MESA_SHADER_KERNEL) {
|
if (b->shader->info.stage == MESA_SHADER_KERNEL) {
|
||||||
if (b->options->constant_as_global) {
|
mode = vtn_variable_mode_constant;
|
||||||
mode = vtn_variable_mode_cross_workgroup;
|
nir_mode = nir_var_mem_constant;
|
||||||
nir_mode = nir_var_mem_global;
|
|
||||||
} else {
|
|
||||||
mode = vtn_variable_mode_constant;
|
|
||||||
nir_mode = nir_var_mem_constant;
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
mode = vtn_variable_mode_uniform;
|
mode = vtn_variable_mode_uniform;
|
||||||
nir_mode = nir_var_uniform;
|
nir_mode = nir_var_uniform;
|
||||||
|
Reference in New Issue
Block a user