From: Marek Olšák Date: Mon, 6 Jun 2022 00:55:50 +0000 (-0400) Subject: gallium: rename PIPE_CAP_MAX_SHADER_BUFFER_SIZE -> *_UINT X-Git-Tag: upstream/22.3.5~7827 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=ad8f9d5d583429755617565c10a8c63da6a94f73;p=platform%2Fupstream%2Fmesa.git gallium: rename PIPE_CAP_MAX_SHADER_BUFFER_SIZE -> *_UINT to imply the maximum of 4GB - 1. Reviewed-By: Mike Blumenkrantz Part-of: --- diff --git a/docs/gallium/screen.rst b/docs/gallium/screen.rst index 2b3bfc6..8a04124 100644 --- a/docs/gallium/screen.rst +++ b/docs/gallium/screen.rst @@ -520,8 +520,8 @@ The integer capabilities: ```set_sample_locations```. * ``PIPE_CAP_MAX_GS_INVOCATIONS``: Maximum supported value of TGSI_PROPERTY_GS_INVOCATIONS. -* ``PIPE_CAP_MAX_SHADER_BUFFER_SIZE``: Maximum supported size for binding - with set_shader_buffers. +* ``PIPE_CAP_MAX_SHADER_BUFFER_SIZE_UINT``: Maximum supported size for binding + with set_shader_buffers. This is unsigned integer with the maximum of 4GB - 1. * ``PIPE_CAP_MAX_COMBINED_SHADER_BUFFERS``: Maximum total number of shader buffers. A value of 0 means the sum of all per-shader stage maximums (see ``PIPE_SHADER_CAP_MAX_SHADER_BUFFERS``). diff --git a/src/gallium/auxiliary/util/u_screen.c b/src/gallium/auxiliary/util/u_screen.c index ce5b200..daf6bb3 100644 --- a/src/gallium/auxiliary/util/u_screen.c +++ b/src/gallium/auxiliary/util/u_screen.c @@ -375,7 +375,7 @@ u_pipe_screen_get_param_defaults(struct pipe_screen *pscreen, case PIPE_CAP_MAX_GS_INVOCATIONS: return 32; - case PIPE_CAP_MAX_SHADER_BUFFER_SIZE: + case PIPE_CAP_MAX_SHADER_BUFFER_SIZE_UINT: return 1 << 27; case PIPE_CAP_TEXTURE_MIRROR_CLAMP_TO_EDGE: diff --git a/src/gallium/drivers/crocus/crocus_screen.c b/src/gallium/drivers/crocus/crocus_screen.c index dadfdaf..64fad80 100644 --- a/src/gallium/drivers/crocus/crocus_screen.c +++ b/src/gallium/drivers/crocus/crocus_screen.c @@ -294,7 +294,7 @@ crocus_get_param(struct pipe_screen *pscreen, enum pipe_cap param) return CROCUS_MAP_BUFFER_ALIGNMENT; case PIPE_CAP_SHADER_BUFFER_OFFSET_ALIGNMENT: return devinfo->ver >= 7 ? 4 : 0; - case PIPE_CAP_MAX_SHADER_BUFFER_SIZE: + case PIPE_CAP_MAX_SHADER_BUFFER_SIZE_UINT: return devinfo->ver >= 7 ? (1 << 27) : 0; case PIPE_CAP_TEXTURE_BUFFER_OFFSET_ALIGNMENT: return 16; // XXX: u_screen says 256 is the minimum value... diff --git a/src/gallium/drivers/i915/i915_screen.c b/src/gallium/drivers/i915/i915_screen.c index e67fdb8..4ad008d 100644 --- a/src/gallium/drivers/i915/i915_screen.c +++ b/src/gallium/drivers/i915/i915_screen.c @@ -423,7 +423,7 @@ i915_get_param(struct pipe_screen *screen, enum pipe_cap cap) case PIPE_CAP_MAX_GS_INVOCATIONS: return 32; - case PIPE_CAP_MAX_SHADER_BUFFER_SIZE: + case PIPE_CAP_MAX_SHADER_BUFFER_SIZE_UINT: return 1 << 27; case PIPE_CAP_MAX_VIEWPORTS: diff --git a/src/gallium/drivers/iris/iris_screen.c b/src/gallium/drivers/iris/iris_screen.c index ae4b8ab..65acffa 100644 --- a/src/gallium/drivers/iris/iris_screen.c +++ b/src/gallium/drivers/iris/iris_screen.c @@ -335,7 +335,7 @@ iris_get_param(struct pipe_screen *pscreen, enum pipe_cap param) return IRIS_MAP_BUFFER_ALIGNMENT; case PIPE_CAP_SHADER_BUFFER_OFFSET_ALIGNMENT: return 4; - case PIPE_CAP_MAX_SHADER_BUFFER_SIZE: + case PIPE_CAP_MAX_SHADER_BUFFER_SIZE_UINT: return 1 << 27; case PIPE_CAP_TEXTURE_BUFFER_OFFSET_ALIGNMENT: return 16; // XXX: u_screen says 256 is the minimum value... diff --git a/src/gallium/drivers/llvmpipe/lp_screen.c b/src/gallium/drivers/llvmpipe/lp_screen.c index 173507b..cb5ef1f 100644 --- a/src/gallium/drivers/llvmpipe/lp_screen.c +++ b/src/gallium/drivers/llvmpipe/lp_screen.c @@ -339,7 +339,7 @@ llvmpipe_get_param(struct pipe_screen *screen, enum pipe_cap param) case PIPE_CAP_MAX_GS_INVOCATIONS: return 32; - case PIPE_CAP_MAX_SHADER_BUFFER_SIZE: + case PIPE_CAP_MAX_SHADER_BUFFER_SIZE_UINT: return LP_MAX_TGSI_SHADER_BUFFER_SIZE; case PIPE_CAP_FRAMEBUFFER_NO_ATTACHMENT: case PIPE_CAP_TGSI_TG4_COMPONENT_IN_SWIZZLE: diff --git a/src/gallium/drivers/nouveau/nv30/nv30_screen.c b/src/gallium/drivers/nouveau/nv30/nv30_screen.c index cfb29dc..fa3d5fe 100644 --- a/src/gallium/drivers/nouveau/nv30/nv30_screen.c +++ b/src/gallium/drivers/nouveau/nv30/nv30_screen.c @@ -258,7 +258,7 @@ nv30_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param) case PIPE_CAP_MAX_GS_INVOCATIONS: return 32; - case PIPE_CAP_MAX_SHADER_BUFFER_SIZE: + case PIPE_CAP_MAX_SHADER_BUFFER_SIZE_UINT: return 1 << 27; case PIPE_CAP_VENDOR_ID: return 0x10de; diff --git a/src/gallium/drivers/nouveau/nv50/nv50_screen.c b/src/gallium/drivers/nouveau/nv50/nv50_screen.c index 2830f64..066b1ec 100644 --- a/src/gallium/drivers/nouveau/nv50/nv50_screen.c +++ b/src/gallium/drivers/nouveau/nv50/nv50_screen.c @@ -155,7 +155,7 @@ nv50_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param) return 1; case PIPE_CAP_MAX_GS_INVOCATIONS: return 0; - case PIPE_CAP_MAX_SHADER_BUFFER_SIZE: + case PIPE_CAP_MAX_SHADER_BUFFER_SIZE_UINT: return 1 << 27; case PIPE_CAP_MAX_VERTEX_ATTRIB_STRIDE: return 2048; diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c b/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c index e409b07..f52ba0a 100644 --- a/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c +++ b/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c @@ -162,7 +162,7 @@ nvc0_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param) return 4; case PIPE_CAP_MAX_GS_INVOCATIONS: return 32; - case PIPE_CAP_MAX_SHADER_BUFFER_SIZE: + case PIPE_CAP_MAX_SHADER_BUFFER_SIZE_UINT: return 1 << 27; case PIPE_CAP_MAX_VERTEX_ATTRIB_STRIDE: return 2048; diff --git a/src/gallium/drivers/r300/r300_screen.c b/src/gallium/drivers/r300/r300_screen.c index d4a1218..6c7f05d 100644 --- a/src/gallium/drivers/r300/r300_screen.c +++ b/src/gallium/drivers/r300/r300_screen.c @@ -180,7 +180,7 @@ static int r300_get_param(struct pipe_screen* pscreen, enum pipe_cap param) case PIPE_CAP_MAX_GS_INVOCATIONS: return 32; - case PIPE_CAP_MAX_SHADER_BUFFER_SIZE: + case PIPE_CAP_MAX_SHADER_BUFFER_SIZE_UINT: return 1 << 27; /* SWTCL-only features. */ diff --git a/src/gallium/drivers/r600/r600_pipe.c b/src/gallium/drivers/r600/r600_pipe.c index d8ec6f5..0210b29 100644 --- a/src/gallium/drivers/r600/r600_pipe.c +++ b/src/gallium/drivers/r600/r600_pipe.c @@ -405,7 +405,7 @@ static int r600_get_param(struct pipe_screen* pscreen, enum pipe_cap param) return 32; /* shader buffer objects */ - case PIPE_CAP_MAX_SHADER_BUFFER_SIZE: + case PIPE_CAP_MAX_SHADER_BUFFER_SIZE_UINT: return 1 << 27; case PIPE_CAP_MAX_COMBINED_SHADER_BUFFERS: return 8; diff --git a/src/gallium/drivers/radeonsi/si_get.c b/src/gallium/drivers/radeonsi/si_get.c index feae692..72f3875 100644 --- a/src/gallium/drivers/radeonsi/si_get.c +++ b/src/gallium/drivers/radeonsi/si_get.c @@ -234,7 +234,7 @@ static int si_get_param(struct pipe_screen *pscreen, enum pipe_cap param) return 4096 * 1024; case PIPE_CAP_MAX_TEXEL_BUFFER_ELEMENTS_UINT: - case PIPE_CAP_MAX_SHADER_BUFFER_SIZE: + case PIPE_CAP_MAX_SHADER_BUFFER_SIZE_UINT: /* Allow max 512 MB to pass CTS with a 32-bit build. */ return MIN2(sscreen->info.max_alloc_size, 512 * 1024 * 1024); case PIPE_CAP_MAX_TEXTURE_MB: diff --git a/src/gallium/drivers/softpipe/sp_screen.c b/src/gallium/drivers/softpipe/sp_screen.c index d00f9f8..c0e1df3 100644 --- a/src/gallium/drivers/softpipe/sp_screen.c +++ b/src/gallium/drivers/softpipe/sp_screen.c @@ -304,7 +304,7 @@ softpipe_get_param(struct pipe_screen *screen, enum pipe_cap param) return 0; case PIPE_CAP_MAX_GS_INVOCATIONS: return 32; - case PIPE_CAP_MAX_SHADER_BUFFER_SIZE: + case PIPE_CAP_MAX_SHADER_BUFFER_SIZE_UINT: return 1 << 27; case PIPE_CAP_SHADER_BUFFER_OFFSET_ALIGNMENT: return 4; diff --git a/src/gallium/drivers/svga/svga_screen.c b/src/gallium/drivers/svga/svga_screen.c index 89ab84a..ce41ef4 100644 --- a/src/gallium/drivers/svga/svga_screen.c +++ b/src/gallium/drivers/svga/svga_screen.c @@ -455,7 +455,7 @@ svga_get_param(struct pipe_screen *screen, enum pipe_cap param) return 1; case PIPE_CAP_MAX_GS_INVOCATIONS: return 32; - case PIPE_CAP_MAX_SHADER_BUFFER_SIZE: + case PIPE_CAP_MAX_SHADER_BUFFER_SIZE_UINT: return 1 << 27; /* Verify this once protocol is finalized. Setting it to minimum value. */ case PIPE_CAP_MAX_SHADER_PATCH_VARYINGS: diff --git a/src/gallium/drivers/virgl/virgl_screen.c b/src/gallium/drivers/virgl/virgl_screen.c index 0deb6f1..ba6ca7e 100644 --- a/src/gallium/drivers/virgl/virgl_screen.c +++ b/src/gallium/drivers/virgl/virgl_screen.c @@ -322,7 +322,7 @@ virgl_get_param(struct pipe_screen *screen, enum pipe_cap param) return vscreen->caps.caps.v2.capability_bits & VIRGL_CAP_CLIP_HALFZ; case PIPE_CAP_MAX_GS_INVOCATIONS: return 32; - case PIPE_CAP_MAX_SHADER_BUFFER_SIZE: + case PIPE_CAP_MAX_SHADER_BUFFER_SIZE_UINT: return 1 << 27; case PIPE_CAP_VENDOR_ID: return 0x1af4; diff --git a/src/gallium/drivers/zink/zink_screen.c b/src/gallium/drivers/zink/zink_screen.c index 04d047d..5b99e1b 100644 --- a/src/gallium/drivers/zink/zink_screen.c +++ b/src/gallium/drivers/zink/zink_screen.c @@ -735,7 +735,7 @@ zink_get_param(struct pipe_screen *pscreen, enum pipe_cap param) /* gallium handles this automatically */ return 0; - case PIPE_CAP_MAX_SHADER_BUFFER_SIZE: + case PIPE_CAP_MAX_SHADER_BUFFER_SIZE_UINT: /* 1<<27 is required by VK spec */ assert(screen->info.props.limits.maxStorageBufferRange >= 1 << 27); /* but Gallium can't handle values that are too big, so clamp to VK spec minimum */ diff --git a/src/gallium/frontends/lavapipe/lvp_device.c b/src/gallium/frontends/lavapipe/lvp_device.c index a79d391..be3f3c9 100644 --- a/src/gallium/frontends/lavapipe/lvp_device.c +++ b/src/gallium/frontends/lavapipe/lvp_device.c @@ -260,7 +260,7 @@ lvp_physical_device_init(struct lvp_physical_device *device, .maxImageArrayLayers = device->pscreen->get_param(device->pscreen, PIPE_CAP_MAX_TEXTURE_ARRAY_LAYERS), .maxTexelBufferElements = device->pscreen->get_param(device->pscreen, PIPE_CAP_MAX_TEXEL_BUFFER_ELEMENTS_UINT), .maxUniformBufferRange = min_shader_param(device->pscreen, PIPE_SHADER_CAP_MAX_CONST_BUFFER0_SIZE), - .maxStorageBufferRange = device->pscreen->get_param(device->pscreen, PIPE_CAP_MAX_SHADER_BUFFER_SIZE), + .maxStorageBufferRange = device->pscreen->get_param(device->pscreen, PIPE_CAP_MAX_SHADER_BUFFER_SIZE_UINT), .maxPushConstantsSize = MAX_PUSH_CONSTANTS_SIZE, .maxMemoryAllocationCount = UINT32_MAX, .maxSamplerAllocationCount = 32 * 1024, diff --git a/src/gallium/include/pipe/p_defines.h b/src/gallium/include/pipe/p_defines.h index 108ab8c..c19e33d 100644 --- a/src/gallium/include/pipe/p_defines.h +++ b/src/gallium/include/pipe/p_defines.h @@ -925,7 +925,7 @@ enum pipe_cap PIPE_CAP_CONSERVATIVE_RASTER_INNER_COVERAGE, PIPE_CAP_PROGRAMMABLE_SAMPLE_LOCATIONS, PIPE_CAP_MAX_GS_INVOCATIONS, - PIPE_CAP_MAX_SHADER_BUFFER_SIZE, + PIPE_CAP_MAX_SHADER_BUFFER_SIZE_UINT, PIPE_CAP_TEXTURE_MIRROR_CLAMP_TO_EDGE, PIPE_CAP_MAX_COMBINED_SHADER_BUFFERS, PIPE_CAP_MAX_COMBINED_HW_ATOMIC_COUNTERS, diff --git a/src/mesa/state_tracker/st_extensions.c b/src/mesa/state_tracker/st_extensions.c index ee23cd7..027ca94 100644 --- a/src/mesa/state_tracker/st_extensions.c +++ b/src/mesa/state_tracker/st_extensions.c @@ -547,7 +547,7 @@ void st_init_limits(struct pipe_screen *screen, c->MaxCombinedShaderOutputResources += c->MaxCombinedShaderStorageBlocks; c->MaxShaderStorageBlockSize = - screen->get_param(screen, PIPE_CAP_MAX_SHADER_BUFFER_SIZE); + screen->get_param(screen, PIPE_CAP_MAX_SHADER_BUFFER_SIZE_UINT); if (c->Program[MESA_SHADER_FRAGMENT].MaxShaderStorageBlocks) extensions->ARB_shader_storage_buffer_object = GL_TRUE; }