nvk: bind more subchans in init_context_state

Signed-off-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
This commit is contained in:
Karol Herbst 2022-09-10 17:47:44 +02:00 committed by Marge Bot
parent cd48710176
commit 6214bfd139
3 changed files with 20 additions and 0 deletions

View file

@ -3,6 +3,7 @@ nvk_classes = [
'cl906f',
'cl9097',
'cl90b5',
'cl90c0',
'cla0b5',
'cla097',
'clb097',

View file

@ -52,6 +52,7 @@ void vk_push_print(FILE *fp, const struct nv_push *push,
#define SUBC_NVC397 0
#define SUBC_NVC597 0
#define SUBC_NV90C0 1
#define SUBC_NVA0C0 1
#define SUBC_NVC0C0 1
#define SUBC_NVC3C0 1

View file

@ -15,6 +15,9 @@
#include "nouveau_context.h"
#include "nvk_cl902d.h"
#include "nvk_cl90c0.h"
#include "nvk_cl9097.h"
#include "nvk_cla097.h"
#include "nvk_clb097.h"
@ -39,6 +42,14 @@ nvk_queue_init_context_draw_state(struct nvk_queue *queue)
nv_push_init(&push, push_data, ARRAY_SIZE(push_data));
struct nv_push *p = &push;
/* 2D state */
P_MTHD(p, NV902D, SET_OBJECT);
P_NV902D_SET_OBJECT(p, {
.class_id = dev->ctx->eng2d.cls,
.engine_id = 0,
});
/* 3D state */
P_MTHD(p, NV9097, SET_OBJECT);
P_NV9097_SET_OBJECT(p, {
.class_id = dev->ctx->eng3d.cls,
@ -296,6 +307,13 @@ nvk_queue_init_context_draw_state(struct nvk_queue *queue)
P_NV9097_SET_VERTEX_STREAM_SUBSTITUTE_A(p, zero_addr >> 32);
P_NV9097_SET_VERTEX_STREAM_SUBSTITUTE_B(p, zero_addr);
/* Compute state */
P_MTHD(p, NV90C0, SET_OBJECT);
P_NV90C0_SET_OBJECT(p, {
.class_id = dev->ctx->compute.cls,
.engine_id = 0,
});
return nvk_queue_submit_simple(queue, nv_push_dw_count(&push), push_data,
0, NULL, false /* sync */);
}