mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-25 02:10:11 +01:00
nvk: Add and use more cmd_buffer_*_cls helpers
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28105>
This commit is contained in:
parent
f55bb91159
commit
9ddaa4ea10
3 changed files with 12 additions and 4 deletions
|
|
@ -22,6 +22,14 @@
|
|||
#include "nvk_cl90b5.h"
|
||||
#include "nvk_clc1b5.h"
|
||||
|
||||
static inline uint16_t
|
||||
nvk_cmd_buffer_copy_cls(struct nvk_cmd_buffer *cmd)
|
||||
{
|
||||
struct nvk_device *dev = nvk_cmd_buffer_device(cmd);
|
||||
struct nvk_physical_device *pdev = nvk_device_physical(dev);
|
||||
return pdev->info.cls_copy;
|
||||
}
|
||||
|
||||
struct nouveau_copy_buffer {
|
||||
uint64_t base_addr;
|
||||
VkImageType image_type;
|
||||
|
|
@ -245,7 +253,7 @@ nouveau_copy_rect(struct nvk_cmd_buffer *cmd, struct nouveau_copy *copy)
|
|||
else
|
||||
P_NV90B5_SET_SRC_LAYER(p, 0);
|
||||
|
||||
if (nvk_cmd_buffer_device(cmd)->pdev->info.cls_copy >= 0xc1b5) {
|
||||
if (nvk_cmd_buffer_copy_cls(cmd) >= PASCAL_DMA_COPY_B) {
|
||||
P_MTHD(p, NVC1B5, SRC_ORIGIN_X);
|
||||
P_NVC1B5_SRC_ORIGIN_X(p, copy->src.offset_el.x * src_bw);
|
||||
P_NVC1B5_SRC_ORIGIN_Y(p, copy->src.offset_el.y);
|
||||
|
|
@ -286,7 +294,7 @@ nouveau_copy_rect(struct nvk_cmd_buffer *cmd, struct nouveau_copy *copy)
|
|||
else
|
||||
P_NV90B5_SET_DST_LAYER(p, 0);
|
||||
|
||||
if (nvk_cmd_buffer_device(cmd)->pdev->info.cls_copy >= 0xc1b5) {
|
||||
if (nvk_cmd_buffer_copy_cls(cmd) >= PASCAL_DMA_COPY_B) {
|
||||
P_MTHD(p, NVC1B5, DST_ORIGIN_X);
|
||||
P_NVC1B5_DST_ORIGIN_X(p, copy->dst.offset_el.x * dst_bw);
|
||||
P_NVC1B5_DST_ORIGIN_Y(p, copy->dst.offset_el.y);
|
||||
|
|
|
|||
|
|
@ -562,7 +562,7 @@ nvk_CmdDispatchIndirect(VkCommandBuffer commandBuffer,
|
|||
struct nvk_descriptor_state *desc = &cmd->state.cs.descriptors;
|
||||
|
||||
/* TODO: Indirect dispatch pre-Turing */
|
||||
assert(nvk_cmd_buffer_device(cmd)->pdev->info.cls_eng3d >= TURING_A);
|
||||
assert(nvk_cmd_buffer_compute_cls(cmd) >= TURING_COMPUTE_A);
|
||||
|
||||
desc->root.cs.base_group[0] = 0;
|
||||
desc->root.cs.base_group[1] = 0;
|
||||
|
|
|
|||
|
|
@ -3428,7 +3428,7 @@ nvk_CmdBeginTransformFeedbackEXT(VkCommandBuffer commandBuffer,
|
|||
uint64_t offset = pCounterBufferOffsets ? pCounterBufferOffsets[i] : 0;
|
||||
uint64_t cb_addr = nvk_buffer_address(buffer, offset);
|
||||
|
||||
if (nvk_cmd_buffer_device(cmd)->pdev->info.cls_eng3d >= TURING_A) {
|
||||
if (nvk_cmd_buffer_3d_cls(cmd) >= TURING_A) {
|
||||
struct nv_push *p = nvk_cmd_buffer_push(cmd, 4);
|
||||
P_1INC(p, NV9097, CALL_MME_MACRO(NVK_MME_XFB_COUNTER_LOAD));
|
||||
/* The STREAM_OUT_BUFFER_LOAD_WRITE_POINTER registers are 8 dword stride */
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue