summaryrefslogtreecommitdiffstats
path: root/src/mesa
diff options
context:
space:
mode:
authorJason Ekstrand <[email protected]>2019-02-22 10:48:39 -0600
committerJason Ekstrand <[email protected]>2019-07-24 12:55:40 -0500
commitc84b8eeeac30ec033847a3e13d05d1162e78daf3 (patch)
tree2fba023f049627a457343e8664566852f6baee9f /src/mesa
parent1981460af2c17d55c17be2475a28bbf711a80c79 (diff)
intel/compiler: Be more conservative about subgroup sizes in GL
The rules for gl_SubgroupSize in Vulkan require that it be a constant that can be queried through the API. However, all GL requires is that it's a uniform. Instead of always claiming that the subgroup size in the shader is 32 in GL like we have to do for Vulkan, claim 8 for geometry stages, the maximum for fragment shaders, and the actual size for compute. Reviewed-by: Caio Marcelo de Oliveira Filho <[email protected]>
Diffstat (limited to 'src/mesa')
-rw-r--r--src/mesa/drivers/dri/i965/brw_wm.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_wm.c b/src/mesa/drivers/dri/i965/brw_wm.c
index 368499776b9..384c3f5c956 100644
--- a/src/mesa/drivers/dri/i965/brw_wm.c
+++ b/src/mesa/drivers/dri/i965/brw_wm.c
@@ -335,6 +335,7 @@ brw_populate_base_prog_key(struct gl_context *ctx,
struct brw_base_prog_key *key)
{
key->program_string_id = prog->id;
+ key->subgroup_size_type = BRW_SUBGROUP_SIZE_UNIFORM;
brw_populate_sampler_prog_key_data(ctx, &prog->program, &key->tex);
}
@@ -344,6 +345,7 @@ brw_populate_default_base_prog_key(const struct gen_device_info *devinfo,
struct brw_base_prog_key *key)
{
key->program_string_id = prog->id;
+ key->subgroup_size_type = BRW_SUBGROUP_SIZE_UNIFORM;
brw_setup_tex_for_precompile(devinfo, &key->tex, &prog->program);
}