maxwell_3d: Add dirty flags for depth bounds values
This is useful in Vulkan where we want to update depth bounds without caring if it's enabled or disabled through vkCmdSetDepthBounds.
This commit is contained in:
parent
e11afeb34d
commit
fe7f20e659
|
@ -249,6 +249,11 @@ void Maxwell3D::InitDirtySettings() {
|
||||||
dirty_pointers[MAXWELL3D_REG_INDEX(polygon_offset_units)] = polygon_offset_dirty_reg;
|
dirty_pointers[MAXWELL3D_REG_INDEX(polygon_offset_units)] = polygon_offset_dirty_reg;
|
||||||
dirty_pointers[MAXWELL3D_REG_INDEX(polygon_offset_factor)] = polygon_offset_dirty_reg;
|
dirty_pointers[MAXWELL3D_REG_INDEX(polygon_offset_factor)] = polygon_offset_dirty_reg;
|
||||||
dirty_pointers[MAXWELL3D_REG_INDEX(polygon_offset_clamp)] = polygon_offset_dirty_reg;
|
dirty_pointers[MAXWELL3D_REG_INDEX(polygon_offset_clamp)] = polygon_offset_dirty_reg;
|
||||||
|
|
||||||
|
// Depth bounds
|
||||||
|
constexpr u32 depth_bounds_values_dirty_reg = DIRTY_REGS_POS(depth_bounds_values);
|
||||||
|
dirty_pointers[MAXWELL3D_REG_INDEX(depth_bounds[0])] = depth_bounds_values_dirty_reg;
|
||||||
|
dirty_pointers[MAXWELL3D_REG_INDEX(depth_bounds[1])] = depth_bounds_values_dirty_reg;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Maxwell3D::CallMacroMethod(u32 method, std::size_t num_parameters, const u32* parameters) {
|
void Maxwell3D::CallMacroMethod(u32 method, std::size_t num_parameters, const u32* parameters) {
|
||||||
|
|
|
@ -687,7 +687,9 @@ public:
|
||||||
|
|
||||||
u32 rt_separate_frag_data;
|
u32 rt_separate_frag_data;
|
||||||
|
|
||||||
INSERT_PADDING_WORDS(0xC);
|
f32 depth_bounds[2];
|
||||||
|
|
||||||
|
INSERT_PADDING_WORDS(0xA);
|
||||||
|
|
||||||
struct {
|
struct {
|
||||||
u32 address_high;
|
u32 address_high;
|
||||||
|
@ -1201,6 +1203,7 @@ public:
|
||||||
bool transform_feedback;
|
bool transform_feedback;
|
||||||
bool color_mask;
|
bool color_mask;
|
||||||
bool polygon_offset;
|
bool polygon_offset;
|
||||||
|
bool depth_bounds_values;
|
||||||
|
|
||||||
// Complementary
|
// Complementary
|
||||||
bool viewport_transform;
|
bool viewport_transform;
|
||||||
|
@ -1400,6 +1403,7 @@ ASSERT_REG_POSITION(stencil_back_mask, 0x3D6);
|
||||||
ASSERT_REG_POSITION(stencil_back_func_mask, 0x3D7);
|
ASSERT_REG_POSITION(stencil_back_func_mask, 0x3D7);
|
||||||
ASSERT_REG_POSITION(color_mask_common, 0x3E4);
|
ASSERT_REG_POSITION(color_mask_common, 0x3E4);
|
||||||
ASSERT_REG_POSITION(rt_separate_frag_data, 0x3EB);
|
ASSERT_REG_POSITION(rt_separate_frag_data, 0x3EB);
|
||||||
|
ASSERT_REG_POSITION(depth_bounds, 0x3EC);
|
||||||
ASSERT_REG_POSITION(zeta, 0x3F8);
|
ASSERT_REG_POSITION(zeta, 0x3F8);
|
||||||
ASSERT_REG_POSITION(clear_flags, 0x43E);
|
ASSERT_REG_POSITION(clear_flags, 0x43E);
|
||||||
ASSERT_REG_POSITION(vertex_attrib_format, 0x458);
|
ASSERT_REG_POSITION(vertex_attrib_format, 0x458);
|
||||||
|
|
Reference in New Issue