D3D12_VIEWPORT_BOUNDS_MAX,
D3D12_VIEWPORT_BOUNDS_MAX };
+static const D3D12_RECT MAX_SCISSOR_ARRAY[] = {
+ MAX_SCISSOR, MAX_SCISSOR, MAX_SCISSOR, MAX_SCISSOR,
+ MAX_SCISSOR, MAX_SCISSOR, MAX_SCISSOR, MAX_SCISSOR,
+ MAX_SCISSOR, MAX_SCISSOR, MAX_SCISSOR, MAX_SCISSOR,
+ MAX_SCISSOR, MAX_SCISSOR, MAX_SCISSOR, MAX_SCISSOR
+};
+static_assert(ARRAY_SIZE(MAX_SCISSOR_ARRAY) == PIPE_MAX_VIEWPORTS, "Wrong scissor count");
+
static D3D12_GPU_DESCRIPTOR_HANDLE
fill_cbv_descriptors(struct d3d12_context *ctx,
struct d3d12_shader *shader,
if (ctx->gfx_pipeline_state.rast->base.scissor && ctx->num_viewports > 0)
ctx->cmdlist->RSSetScissorRects(ctx->num_viewports, ctx->scissors);
else
- ctx->cmdlist->RSSetScissorRects(1, &MAX_SCISSOR);
+ ctx->cmdlist->RSSetScissorRects(PIPE_MAX_VIEWPORTS, MAX_SCISSOR_ARRAY);
}
if (ctx->cmdlist_dirty & D3D12_DIRTY_BLEND_COLOR) {