File tree Expand file tree Collapse file tree 4 files changed +12
-5
lines changed Expand file tree Collapse file tree 4 files changed +12
-5
lines changed Original file line number Diff line number Diff line change @@ -961,13 +961,15 @@ static int evergreen_cs_track_check(struct radeon_cs_parser *p)
961
961
962
962
if (track -> db_dirty ) {
963
963
/* Check stencil buffer */
964
- if (G_028800_STENCIL_ENABLE (track -> db_depth_control )) {
964
+ if (G_028044_FORMAT (track -> db_s_info ) != V_028044_STENCIL_INVALID &&
965
+ G_028800_STENCIL_ENABLE (track -> db_depth_control )) {
965
966
r = evergreen_cs_track_validate_stencil (p );
966
967
if (r )
967
968
return r ;
968
969
}
969
970
/* Check depth buffer */
970
- if (G_028800_Z_ENABLE (track -> db_depth_control )) {
971
+ if (G_028040_FORMAT (track -> db_z_info ) != V_028040_Z_INVALID &&
972
+ G_028800_Z_ENABLE (track -> db_depth_control )) {
971
973
r = evergreen_cs_track_validate_depth (p );
972
974
if (r )
973
975
return r ;
Original file line number Diff line number Diff line change 1277
1277
#define S_028044_FORMAT (x ) (((x) & 0x1) << 0)
1278
1278
#define G_028044_FORMAT (x ) (((x) >> 0) & 0x1)
1279
1279
#define C_028044_FORMAT 0xFFFFFFFE
1280
+ #define V_028044_STENCIL_INVALID 0
1281
+ #define V_028044_STENCIL_8 1
1280
1282
#define G_028044_TILE_SPLIT (x ) (((x) >> 8) & 0x7)
1281
1283
#define DB_Z_READ_BASE 0x28048
1282
1284
#define DB_STENCIL_READ_BASE 0x2804c
Original file line number Diff line number Diff line change @@ -764,8 +764,10 @@ static int r600_cs_track_check(struct radeon_cs_parser *p)
764
764
}
765
765
766
766
/* Check depth buffer */
767
- if (track -> db_dirty && (G_028800_STENCIL_ENABLE (track -> db_depth_control ) ||
768
- G_028800_Z_ENABLE (track -> db_depth_control ))) {
767
+ if (track -> db_dirty &&
768
+ G_028010_FORMAT (track -> db_depth_info ) != V_028010_DEPTH_INVALID &&
769
+ (G_028800_STENCIL_ENABLE (track -> db_depth_control ) ||
770
+ G_028800_Z_ENABLE (track -> db_depth_control ))) {
769
771
r = r600_cs_track_validate_db (p );
770
772
if (r )
771
773
return r ;
Original file line number Diff line number Diff line change 59
59
* 2.15.0 - add max_pipes query
60
60
* 2.16.0 - fix evergreen 2D tiled surface calculation
61
61
* 2.17.0 - add STRMOUT_BASE_UPDATE for r7xx
62
+ * 2.18.0 - r600-eg: allow "invalid" DB formats
62
63
*/
63
64
#define KMS_DRIVER_MAJOR 2
64
- #define KMS_DRIVER_MINOR 17
65
+ #define KMS_DRIVER_MINOR 18
65
66
#define KMS_DRIVER_PATCHLEVEL 0
66
67
int radeon_driver_load_kms (struct drm_device * dev , unsigned long flags );
67
68
int radeon_driver_unload_kms (struct drm_device * dev );
You can’t perform that action at this time.
0 commit comments