glhd: Grab framebuffer state checks from r300g.
This commit is contained in:
@@ -497,6 +497,16 @@ galahad_set_framebuffer_state(struct pipe_context *_pipe,
|
|||||||
struct pipe_framebuffer_state *state = NULL;
|
struct pipe_framebuffer_state *state = NULL;
|
||||||
unsigned i;
|
unsigned i;
|
||||||
|
|
||||||
|
if (_state->nr_cbufs > PIPE_MAX_COLOR_BUFS) {
|
||||||
|
glhd_error("%d render targets bound, but only %d are permitted by API",
|
||||||
|
_state->nr_cbufs, PIPE_MAX_COLOR_BUFS);
|
||||||
|
} else if (_state->nr_cbufs >
|
||||||
|
pipe->screen->get_param(pipe->screen, PIPE_CAP_MAX_RENDER_TARGETS)) {
|
||||||
|
glhd_warn("%d render targets bound, but only %d are supported",
|
||||||
|
_state->nr_cbufs,
|
||||||
|
pipe->screen->get_param(pipe->screen, PIPE_CAP_MAX_RENDER_TARGETS));
|
||||||
|
}
|
||||||
|
|
||||||
/* unwrap the input state */
|
/* unwrap the input state */
|
||||||
if (_state) {
|
if (_state) {
|
||||||
memcpy(&unwrapped_state, _state, sizeof(unwrapped_state));
|
memcpy(&unwrapped_state, _state, sizeof(unwrapped_state));
|
||||||
|
@@ -58,4 +58,7 @@ do { \
|
|||||||
fprintf(stderr, "\n"); \
|
fprintf(stderr, "\n"); \
|
||||||
} while (0)
|
} while (0)
|
||||||
|
|
||||||
|
#define glhd_error(...) \
|
||||||
|
glhd_warn(__VA_ARGS__);
|
||||||
|
|
||||||
#endif /* GLHD_CONTEXT_H */
|
#endif /* GLHD_CONTEXT_H */
|
||||||
|
@@ -668,12 +668,6 @@ static void
|
|||||||
unsigned max_width, max_height, i;
|
unsigned max_width, max_height, i;
|
||||||
uint32_t zbuffer_bpp = 0;
|
uint32_t zbuffer_bpp = 0;
|
||||||
|
|
||||||
if (state->nr_cbufs > 4) {
|
|
||||||
fprintf(stderr, "r300: Implementation error: Too many MRTs in %s, "
|
|
||||||
"refusing to bind framebuffer state!\n", __FUNCTION__);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (r300->screen->caps.is_r500) {
|
if (r300->screen->caps.is_r500) {
|
||||||
max_width = max_height = 4096;
|
max_width = max_height = 4096;
|
||||||
} else if (r300->screen->caps.is_r400) {
|
} else if (r300->screen->caps.is_r400) {
|
||||||
|
Reference in New Issue
Block a user