pvr: Init and store default sampler in pvr_device.

Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com>
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17719>
This commit is contained in:
Rajnesh Kanwal 2022-07-04 14:04:57 +01:00
parent dbc8290656
commit 405a407d42
2 changed files with 18 additions and 0 deletions

View File

@ -1256,6 +1256,20 @@ err_free_nop_usc_bo:
return result;
}
static void pvr_device_init_default_sampler_state(struct pvr_device *device)
{
pvr_csb_pack (&device->input_attachment_sampler, TEXSTATE_SAMPLER, sampler) {
sampler.addrmode_u = PVRX(TEXSTATE_ADDRMODE_CLAMP_TO_EDGE);
sampler.addrmode_v = PVRX(TEXSTATE_ADDRMODE_CLAMP_TO_EDGE);
sampler.addrmode_w = PVRX(TEXSTATE_ADDRMODE_CLAMP_TO_EDGE);
sampler.dadjust = PVRX(TEXSTATE_DADJUST_ZERO_UINT);
sampler.magfilter = PVRX(TEXSTATE_FILTER_POINT);
sampler.minfilter = PVRX(TEXSTATE_FILTER_POINT);
sampler.anisoctl = PVRX(TEXSTATE_ANISOCTL_DISABLED);
sampler.non_normalized_coords = true;
}
}
VkResult pvr_CreateDevice(VkPhysicalDevice physicalDevice,
const VkDeviceCreateInfo *pCreateInfo,
const VkAllocationCallbacks *pAllocator,
@ -1344,6 +1358,8 @@ VkResult pvr_CreateDevice(VkPhysicalDevice physicalDevice,
if (result != VK_SUCCESS)
goto err_pvr_free_compute_fence;
pvr_device_init_default_sampler_state(device);
if (pCreateInfo->pEnabledFeatures)
memcpy(&device->features,
pCreateInfo->pEnabledFeatures,

View File

@ -270,6 +270,8 @@ struct pvr_device {
uint32_t pixel_event_data_size_in_dwords;
uint64_t input_attachment_sampler;
struct pvr_pds_upload pds_compute_fence_program;
struct {