mesa,glsl,ttn: Set subgroup_size to UNIFORM
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17337>
This commit is contained in:

committed by
Marge Bot

parent
8851f50753
commit
b2ab6d10e4
@@ -253,6 +253,8 @@ glsl_to_nir(const struct gl_constants *consts,
|
|||||||
if (shader_prog->Label)
|
if (shader_prog->Label)
|
||||||
shader->info.label = ralloc_strdup(shader, shader_prog->Label);
|
shader->info.label = ralloc_strdup(shader, shader_prog->Label);
|
||||||
|
|
||||||
|
shader->info.subgroup_size = SUBGROUP_SIZE_UNIFORM;
|
||||||
|
|
||||||
if (shader->info.stage == MESA_SHADER_FRAGMENT) {
|
if (shader->info.stage == MESA_SHADER_FRAGMENT) {
|
||||||
shader->info.fs.pixel_center_integer = sh->Program->info.fs.pixel_center_integer;
|
shader->info.fs.pixel_center_integer = sh->Program->info.fs.pixel_center_integer;
|
||||||
shader->info.fs.origin_upper_left = sh->Program->info.fs.origin_upper_left;
|
shader->info.fs.origin_upper_left = sh->Program->info.fs.origin_upper_left;
|
||||||
|
@@ -1223,6 +1223,12 @@ enum PACKED gl_subgroup_size
|
|||||||
/** Actual subgroup size, whatever that happens to be */
|
/** Actual subgroup size, whatever that happens to be */
|
||||||
SUBGROUP_SIZE_VARYING = 0,
|
SUBGROUP_SIZE_VARYING = 0,
|
||||||
|
|
||||||
|
/** Subgroup size must appear to be draw or dispatch-uniform
|
||||||
|
*
|
||||||
|
* This is the OpenGL behavior
|
||||||
|
*/
|
||||||
|
SUBGROUP_SIZE_UNIFORM,
|
||||||
|
|
||||||
/** Subgroup size must appear to be the API advertised constant
|
/** Subgroup size must appear to be the API advertised constant
|
||||||
*
|
*
|
||||||
* This is the default Vulkan 1.1 behavior
|
* This is the default Vulkan 1.1 behavior
|
||||||
|
@@ -2323,6 +2323,8 @@ ttn_compile_init(const void *tgsi_tokens,
|
|||||||
c->cap_face_is_sysval = true;
|
c->cap_face_is_sysval = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
s->info.subgroup_size = SUBGROUP_SIZE_UNIFORM;
|
||||||
|
|
||||||
if (s->info.stage == MESA_SHADER_FRAGMENT)
|
if (s->info.stage == MESA_SHADER_FRAGMENT)
|
||||||
s->info.fs.untyped_color_outputs = true;
|
s->info.fs.untyped_color_outputs = true;
|
||||||
|
|
||||||
|
@@ -244,6 +244,7 @@ _mesa_spirv_to_nir(struct gl_context *ctx,
|
|||||||
const struct spirv_to_nir_options spirv_options = {
|
const struct spirv_to_nir_options spirv_options = {
|
||||||
.environment = NIR_SPIRV_OPENGL,
|
.environment = NIR_SPIRV_OPENGL,
|
||||||
.use_deref_buffer_array_length = true,
|
.use_deref_buffer_array_length = true,
|
||||||
|
.subgroup_size = SUBGROUP_SIZE_UNIFORM,
|
||||||
.caps = ctx->Const.SpirVCapabilities,
|
.caps = ctx->Const.SpirVCapabilities,
|
||||||
.ubo_addr_format = nir_address_format_32bit_index_offset,
|
.ubo_addr_format = nir_address_format_32bit_index_offset,
|
||||||
.ssbo_addr_format = nir_address_format_32bit_index_offset,
|
.ssbo_addr_format = nir_address_format_32bit_index_offset,
|
||||||
|
Reference in New Issue
Block a user