radv: add code to set gs_table_depth.
Review-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Signed-off-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
parent
f26fa879b7
commit
68c5da7e66
2 changed files with 35 additions and 0 deletions
|
|
@ -768,6 +768,36 @@ radv_queue_finish(struct radv_queue *queue)
|
|||
queue->device->ws->buffer_destroy(queue->compute_scratch_bo);
|
||||
}
|
||||
|
||||
static void
|
||||
radv_device_init_gs_info(struct radv_device *device)
|
||||
{
|
||||
switch (device->physical_device->rad_info.family) {
|
||||
case CHIP_OLAND:
|
||||
case CHIP_HAINAN:
|
||||
case CHIP_KAVERI:
|
||||
case CHIP_KABINI:
|
||||
case CHIP_MULLINS:
|
||||
case CHIP_ICELAND:
|
||||
case CHIP_CARRIZO:
|
||||
case CHIP_STONEY:
|
||||
device->gs_table_depth = 16;
|
||||
return;
|
||||
case CHIP_TAHITI:
|
||||
case CHIP_PITCAIRN:
|
||||
case CHIP_VERDE:
|
||||
case CHIP_BONAIRE:
|
||||
case CHIP_HAWAII:
|
||||
case CHIP_TONGA:
|
||||
case CHIP_FIJI:
|
||||
case CHIP_POLARIS10:
|
||||
case CHIP_POLARIS11:
|
||||
device->gs_table_depth = 32;
|
||||
return;
|
||||
default:
|
||||
unreachable("unknown GPU");
|
||||
}
|
||||
}
|
||||
|
||||
VkResult radv_CreateDevice(
|
||||
VkPhysicalDevice physicalDevice,
|
||||
const VkDeviceCreateInfo* pCreateInfo,
|
||||
|
|
@ -849,6 +879,8 @@ VkResult radv_CreateDevice(
|
|||
device->scratch_waves = MAX2(32 * physical_device->rad_info.num_good_compute_units,
|
||||
max_threads_per_block / 64);
|
||||
|
||||
radv_device_init_gs_info(device);
|
||||
|
||||
result = radv_device_init_meta(device);
|
||||
if (result != VK_SUCCESS)
|
||||
goto fail;
|
||||
|
|
|
|||
|
|
@ -495,6 +495,9 @@ struct radv_device {
|
|||
|
||||
bool llvm_supports_spill;
|
||||
uint32_t scratch_waves;
|
||||
|
||||
uint32_t gs_table_depth;
|
||||
|
||||
/* MSAA sample locations.
|
||||
* The first index is the sample index.
|
||||
* The second index is the coordinate: X, Y. */
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue