nvk: Handle missing gl_PointSize in the last geometry stage
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27795>
This commit is contained in:
committed by
Marge Bot
parent
4287d04e98
commit
a120022b02
@@ -255,14 +255,8 @@ nvk_push_draw_state_init(struct nvk_device *dev, struct nv_push *p)
|
||||
.output7 = OUTPUT7_FALSE,
|
||||
});
|
||||
|
||||
/* vulkan allows setting point sizes only within shaders */
|
||||
P_IMMD(p, NV9097, SET_ATTRIBUTE_POINT_SIZE, {
|
||||
.enable = ENABLE_TRUE,
|
||||
.slot = 0,
|
||||
});
|
||||
P_IMMD(p, NV9097, SET_POINT_SIZE, fui(1.0));
|
||||
|
||||
|
||||
/* From vulkan spec's point rasterization:
|
||||
* "Point rasterization produces a fragment for each fragment area group of
|
||||
* framebuffer pixels with one or more sample points that intersect a region
|
||||
|
||||
@@ -417,6 +417,11 @@ nvk_graphics_pipeline_create(struct nvk_device *dev,
|
||||
CONTROL_V_SELECTS_LAYER,
|
||||
});
|
||||
|
||||
P_IMMD(p, NV9097, SET_ATTRIBUTE_POINT_SIZE, {
|
||||
.enable = last_geom->info.vtg.writes_point_size,
|
||||
.slot = 0,
|
||||
});
|
||||
|
||||
emit_pipeline_xfb_state(&push, &last_geom->info.vtg.xfb);
|
||||
|
||||
emit_pipeline_ct_write_state(&push, state.cb, state.rp);
|
||||
|
||||
Reference in New Issue
Block a user