mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 05:18:08 +02:00
tu: Remove builtin border color logic
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34786>
This commit is contained in:
parent
a1cf7054d9
commit
3691694933
4 changed files with 7 additions and 18 deletions
|
|
@ -1543,10 +1543,10 @@ tu6_init_static_regs(struct tu_device *dev, struct tu_cs *cs)
|
|||
|
||||
tu_cs_emit_regs(cs,
|
||||
A6XX_SP_TP_BORDER_COLOR_BASE_ADDR(.bo = dev->global_bo,
|
||||
.bo_offset = gb_offset(bcolor_builtin)));
|
||||
.bo_offset = gb_offset(bcolor)));
|
||||
tu_cs_emit_regs(cs,
|
||||
A6XX_SP_PS_TP_BORDER_COLOR_BASE_ADDR(.bo = dev->global_bo,
|
||||
.bo_offset = gb_offset(bcolor_builtin)));
|
||||
.bo_offset = gb_offset(bcolor)));
|
||||
|
||||
if (CHIP == A7XX) {
|
||||
tu_cs_emit_regs(cs, TPL1_BICUBIC_WEIGHTS_TABLE_0(CHIP, 0),
|
||||
|
|
|
|||
|
|
@ -2689,11 +2689,6 @@ tu_CreateDevice(VkPhysicalDevice physicalDevice,
|
|||
global->dbg_gmem_taken_loads = 0;
|
||||
global->dbg_gmem_total_stores = 0;
|
||||
global->dbg_gmem_taken_stores = 0;
|
||||
for (int i = 0; i < TU_BORDER_COLOR_BUILTIN; i++) {
|
||||
VkClearColorValue border_color = vk_border_color_value((VkBorderColor) i);
|
||||
tu6_pack_border_color(&global->bcolor_builtin[i], &border_color,
|
||||
vk_border_color_is_int((VkBorderColor) i));
|
||||
}
|
||||
|
||||
/* initialize to ones so ffs can be used to find unused slots */
|
||||
BITSET_ONES(device->custom_border_color);
|
||||
|
|
|
|||
|
|
@ -34,7 +34,6 @@
|
|||
#define TU_MAX_QUEUE_FAMILIES 1
|
||||
|
||||
#define TU_BORDER_COLOR_COUNT 4096
|
||||
#define TU_BORDER_COLOR_BUILTIN 6
|
||||
|
||||
#define TU_BLIT_SHADER_SIZE 4096
|
||||
|
||||
|
|
@ -261,8 +260,7 @@ struct tu6_global
|
|||
volatile uint32_t userspace_fence;
|
||||
uint32_t _pad5;
|
||||
|
||||
/* note: larger global bo will be used for customBorderColors */
|
||||
struct bcolor_entry bcolor_builtin[TU_BORDER_COLOR_BUILTIN], bcolor[];
|
||||
struct bcolor_entry bcolor[];
|
||||
};
|
||||
#define gb_offset(member) offsetof(struct tu6_global, member)
|
||||
#define global_iova(cmd, member) ((cmd)->device->global_bo->iova + gb_offset(member))
|
||||
|
|
|
|||
|
|
@ -33,10 +33,6 @@ tu_CreateSampler(VkDevice _device,
|
|||
|
||||
const struct VkSamplerYcbcrConversionInfo *ycbcr_conversion =
|
||||
vk_find_struct_const(pCreateInfo->pNext, SAMPLER_YCBCR_CONVERSION_INFO);
|
||||
/* for non-custom border colors, the VK enum is translated directly to an offset in
|
||||
* the border color buffer. custom border colors are located immediately after the
|
||||
* builtin colors, and thus an offset of TU_BORDER_COLOR_BUILTIN is added.
|
||||
*/
|
||||
uint32_t border_color = (unsigned) pCreateInfo->borderColor;
|
||||
if (vk_border_color_is_custom(pCreateInfo->borderColor)) {
|
||||
mtx_lock(&device->mutex);
|
||||
|
|
@ -61,7 +57,6 @@ tu_CreateSampler(VkDevice _device,
|
|||
tu6_pack_border_color(
|
||||
&device->global_bo_map->bcolor[border_color], &color,
|
||||
pCreateInfo->borderColor == VK_BORDER_COLOR_INT_CUSTOM_EXT);
|
||||
border_color += TU_BORDER_COLOR_BUILTIN;
|
||||
} else {
|
||||
fast_border_color_enable = true;
|
||||
switch (pCreateInfo->borderColor) {
|
||||
|
|
@ -145,9 +140,10 @@ tu_DestroySampler(VkDevice _device,
|
|||
if (!sampler)
|
||||
return;
|
||||
|
||||
border_color = (sampler->descriptor[2] & A6XX_TEX_SAMP_2_BCOLOR__MASK) >> A6XX_TEX_SAMP_2_BCOLOR__SHIFT;
|
||||
if (border_color >= TU_BORDER_COLOR_BUILTIN) {
|
||||
border_color -= TU_BORDER_COLOR_BUILTIN;
|
||||
bool fast_border_color =
|
||||
(sampler->descriptor[2] & A6XX_TEX_SAMP_2_FASTBORDERCOLOREN) != 0;
|
||||
if (!fast_border_color) {
|
||||
border_color = (sampler->descriptor[2] & A6XX_TEX_SAMP_2_BCOLOR__MASK) >> A6XX_TEX_SAMP_2_BCOLOR__SHIFT;
|
||||
/* if the sampler had a custom border color, free it. TODO: no lock */
|
||||
mtx_lock(&device->mutex);
|
||||
assert(!BITSET_TEST(device->custom_border_color, border_color));
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue