mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-04-22 14:00:37 +02:00
nvk: Support extended dynamic state for rasterization stream
This is needed for EXT_shader_object. Move to dynamic state. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24872>
This commit is contained in:
parent
d8945dd51e
commit
453c50bef9
3 changed files with 5 additions and 10 deletions
|
|
@ -1177,7 +1177,7 @@ vk_to_nv9097_provoking_vertex(VkProvokingVertexModeEXT vk_mode)
|
|||
static void
|
||||
nvk_flush_rs_state(struct nvk_cmd_buffer *cmd)
|
||||
{
|
||||
struct nv_push *p = nvk_cmd_buffer_push(cmd, 38);
|
||||
struct nv_push *p = nvk_cmd_buffer_push(cmd, 40);
|
||||
|
||||
const struct vk_dynamic_graphics_state *dyn =
|
||||
&cmd->vk.dynamic_graphics_state;
|
||||
|
|
@ -1316,6 +1316,9 @@ nvk_flush_rs_state(struct nvk_cmd_buffer *cmd)
|
|||
.pattern = dyn->rs.line.stipple.pattern,
|
||||
});
|
||||
}
|
||||
|
||||
if (BITSET_TEST(dyn->dirty, MESA_VK_DYNAMIC_RS_RASTERIZATION_STREAM))
|
||||
P_IMMD(p, NV9097, SET_RASTER_INPUT, dyn->rs.rasterization_stream);
|
||||
}
|
||||
|
||||
static VkSampleLocationEXT
|
||||
|
|
|
|||
|
|
@ -36,13 +36,6 @@ emit_pipeline_vp_state(struct nv_push *p,
|
|||
{
|
||||
}
|
||||
|
||||
static void
|
||||
emit_pipeline_rs_state(struct nv_push *p,
|
||||
const struct vk_rasterization_state *rs)
|
||||
{
|
||||
P_IMMD(p, NV9097, SET_RASTER_INPUT, rs->rasterization_stream);
|
||||
}
|
||||
|
||||
static void
|
||||
nvk_populate_fs_key(struct nak_fs_key *key,
|
||||
const struct vk_multisample_state *ms,
|
||||
|
|
@ -397,7 +390,6 @@ nvk_graphics_pipeline_create(struct nvk_device *dev,
|
|||
|
||||
if (state.ts) emit_pipeline_ts_state(&push, state.ts);
|
||||
if (state.vp) emit_pipeline_vp_state(&push, state.vp);
|
||||
if (state.rs) emit_pipeline_rs_state(&push, state.rs);
|
||||
if (state.ms) emit_pipeline_ms_state(&push, state.ms, force_max_samples);
|
||||
emit_pipeline_ct_write_state(&push, state.cb, state.rp);
|
||||
|
||||
|
|
|
|||
|
|
@ -400,7 +400,7 @@ nvk_get_device_features(const struct nv_device_info *info,
|
|||
.extendedDynamicState3ColorBlendEnable = true,
|
||||
.extendedDynamicState3ColorBlendEquation = true,
|
||||
.extendedDynamicState3ColorWriteMask = true,
|
||||
.extendedDynamicState3RasterizationStream = false,
|
||||
.extendedDynamicState3RasterizationStream = true,
|
||||
.extendedDynamicState3ConservativeRasterizationMode = false,
|
||||
.extendedDynamicState3ExtraPrimitiveOverestimationSize = false,
|
||||
.extendedDynamicState3DepthClipEnable = true,
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue