diff options
author | Eduardo Lima Mitev <[email protected]> | 2015-11-24 21:43:28 +0100 |
---|---|---|
committer | Eduardo Lima Mitev <[email protected]> | 2016-03-03 15:14:05 +0100 |
commit | 82be7735f32776e76300de3602a72fc236b7261e (patch) | |
tree | bd3a290f90f2a7b73baadb91deb3583a3212569f /src/mesa | |
parent | 2dabff9068a86a070615df587e4e9327b1d1ca6e (diff) |
i965/formatquery: Respond queries SAMPLES and NUM_SAMPLE_COUNTS
This effectively disables old QuerySamplesForFormat driver hook, since it is
never called by Mesa anymore.
v2: Call brw_query_samples_for_format() with a dummy buffer to calculate num
samples, to avoid modifying the original buffer.
Reviewed-by: Dave Airlie <[email protected]>
Diffstat (limited to 'src/mesa')
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_context.c | 1 | ||||
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_context.h | 2 | ||||
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_formatquery.c | 16 |
3 files changed, 15 insertions, 4 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_context.c b/src/mesa/drivers/dri/i965/brw_context.c index c16da0d2291..378366408ae 100644 --- a/src/mesa/drivers/dri/i965/brw_context.c +++ b/src/mesa/drivers/dri/i965/brw_context.c @@ -341,7 +341,6 @@ brw_init_driver_functions(struct brw_context *brw, if (brw->gen >= 7) brw_init_conditional_render_functions(functions); - functions->QuerySamplesForFormat = brw_query_samples_for_format; functions->QueryInternalFormat = brw_query_internal_format; functions->NewTransformFeedback = brw_new_transform_feedback; diff --git a/src/mesa/drivers/dri/i965/brw_context.h b/src/mesa/drivers/dri/i965/brw_context.h index 8fca80b617c..88f0d49a5ff 100644 --- a/src/mesa/drivers/dri/i965/brw_context.h +++ b/src/mesa/drivers/dri/i965/brw_context.h @@ -1876,8 +1876,6 @@ void gen7_emit_vs_workaround_flush(struct brw_context *brw); void gen7_emit_cs_stall_flush(struct brw_context *brw); /* brw_queryformat.c */ -size_t brw_query_samples_for_format(struct gl_context *ctx, GLenum target, - GLenum internalFormat, int samples[16]); void brw_query_internal_format(struct gl_context *ctx, GLenum target, GLenum internalFormat, GLenum pname, GLint *params); diff --git a/src/mesa/drivers/dri/i965/brw_formatquery.c b/src/mesa/drivers/dri/i965/brw_formatquery.c index 5ee1d69dae2..576e36fcae3 100644 --- a/src/mesa/drivers/dri/i965/brw_formatquery.c +++ b/src/mesa/drivers/dri/i965/brw_formatquery.c @@ -24,7 +24,7 @@ #include "brw_context.h" #include "main/formatquery.h" -size_t +static size_t brw_query_samples_for_format(struct gl_context *ctx, GLenum target, GLenum internalFormat, int samples[16]) { @@ -73,6 +73,20 @@ brw_query_internal_format(struct gl_context *ctx, GLenum target, assert(params != NULL); switch (pname) { + case GL_SAMPLES: + brw_query_samples_for_format(ctx, target, internalFormat, params); + break; + + case GL_NUM_SAMPLE_COUNTS: { + size_t num_samples; + GLint dummy_buffer[16]; + + num_samples = brw_query_samples_for_format(ctx, target, internalFormat, + dummy_buffer); + params[0] = (GLint) num_samples; + break; + } + default: /* By default, we call the driver hook's fallback function from the frontend, * which has generic implementation for all pnames. |