Rename quantize_num_samples to intel_quantize_num_samples and change the first param from struct intel_context* to struct intel_screen*. The function will later be used by intelCreateBuffer, which is not bound to any context but is bound to a screen. Since the function now depends on the screen, move it to intel_screen.[ch].
CC: Paul Berry <stereotype...@gmail.com> Signed-off-by: Chad Versace <chad.vers...@linux.intel.com> --- src/mesa/drivers/dri/intel/intel_fbo.c | 31 ++----------------------------- src/mesa/drivers/dri/intel/intel_screen.c | 27 +++++++++++++++++++++++++++ src/mesa/drivers/dri/intel/intel_screen.h | 3 +++ 3 files changed, 32 insertions(+), 29 deletions(-) diff --git a/src/mesa/drivers/dri/intel/intel_fbo.c b/src/mesa/drivers/dri/intel/intel_fbo.c index db4fb3b..eb95014 100644 --- a/src/mesa/drivers/dri/intel/intel_fbo.c +++ b/src/mesa/drivers/dri/intel/intel_fbo.c @@ -178,34 +178,6 @@ intel_unmap_renderbuffer(struct gl_context *ctx, intel_miptree_unmap(intel, irb->mt, irb->mt_level, irb->mt_layer); } - -/** - * Round up the requested multisample count to the next supported sample size. - */ -static unsigned -quantize_num_samples(struct intel_context *intel, unsigned num_samples) -{ - switch (intel->gen) { - case 6: - /* Gen6 supports only 4x multisampling. */ - if (num_samples > 0) - return 4; - else - return 0; - case 7: - /* TODO: Gen7 supports only 4x multisampling at the moment. */ - if (num_samples > 0) - return 4; - else - return 0; - return 0; - default: - /* MSAA unsupported */ - return 0; - } -} - - /** * Called via glRenderbufferStorageEXT() to set the format and allocate * storage for a user-created renderbuffer. @@ -216,8 +188,9 @@ intel_alloc_renderbuffer_storage(struct gl_context * ctx, struct gl_renderbuffer GLuint width, GLuint height) { struct intel_context *intel = intel_context(ctx); + struct intel_screen *screen = intel->intelScreen; struct intel_renderbuffer *irb = intel_renderbuffer(rb); - rb->NumSamples = quantize_num_samples(intel, rb->NumSamples); + rb->NumSamples = intel_quantize_num_samples(screen, rb->NumSamples); switch (internalFormat) { default: diff --git a/src/mesa/drivers/dri/intel/intel_screen.c b/src/mesa/drivers/dri/intel/intel_screen.c index e319b6e..9a93ac2 100644 --- a/src/mesa/drivers/dri/intel/intel_screen.c +++ b/src/mesa/drivers/dri/intel/intel_screen.c @@ -109,6 +109,33 @@ const GLuint __driNConfigOptions = 15; static PFNGLXCREATECONTEXTMODES create_context_modes = NULL; #endif /*USE_NEW_INTERFACE */ + +/** + * Round up the requested multisample count to the next supported sample size. + */ +unsigned +intel_quantize_num_samples(struct intel_screen *intel, unsigned num_samples) +{ + switch (intel->gen) { + case 6: + /* Gen6 supports only 4x multisampling. */ + if (num_samples > 0) + return 4; + else + return 0; + case 7: + /* TODO: Gen7 supports only 4x multisampling at the moment. */ + if (num_samples > 0) + return 4; + else + return 0; + return 0; + default: + /* MSAA unsupported */ + return 0; + } +} + void aub_dump_bmp(struct gl_context *ctx) { diff --git a/src/mesa/drivers/dri/intel/intel_screen.h b/src/mesa/drivers/dri/intel/intel_screen.h index c0cc284..a30ed7d 100644 --- a/src/mesa/drivers/dri/intel/intel_screen.h +++ b/src/mesa/drivers/dri/intel/intel_screen.h @@ -83,4 +83,7 @@ intelMakeCurrent(__DRIcontext * driContextPriv, void aub_dump_bmp(struct gl_context *ctx); +unsigned +intel_quantize_num_samples(struct intel_screen *intel, unsigned num_samples); + #endif -- 1.7.11.2 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev