summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/dri/i965/brw_formatquery.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mesa/drivers/dri/i965/brw_formatquery.c')
-rw-r--r--src/mesa/drivers/dri/i965/brw_formatquery.c119
1 files changed, 0 insertions, 119 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_formatquery.c b/src/mesa/drivers/dri/i965/brw_formatquery.c
deleted file mode 100644
index 67d603f1690..00000000000
--- a/src/mesa/drivers/dri/i965/brw_formatquery.c
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
- * Copyright © 2015 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
- * IN THE SOFTWARE.
- */
-
-#include "brw_context.h"
-#include "brw_state.h"
-#include "main/context.h"
-#include "main/formatquery.h"
-#include "main/glformats.h"
-
-static size_t
-brw_query_samples_for_format(struct gl_context *ctx, GLenum target,
- GLenum internalFormat, int samples[16])
-{
- struct brw_context *brw = brw_context(ctx);
- const struct intel_device_info *devinfo = &brw->screen->devinfo;
-
- (void) target;
- (void) internalFormat;
-
- switch (devinfo->ver) {
- case 11:
- case 10:
- case 9:
- samples[0] = 16;
- samples[1] = 8;
- samples[2] = 4;
- samples[3] = 2;
- return 4;
-
- case 8:
- samples[0] = 8;
- samples[1] = 4;
- samples[2] = 2;
- return 3;
-
- case 7:
- if (internalFormat == GL_RGBA32F && _mesa_is_gles(ctx)) {
- /* For GLES, we are allowed to return a smaller number of samples for
- * GL_RGBA32F. See OpenGLES 3.2 spec, section 20.3.1 Internal Format
- * Query Parameters, under SAMPLES:
- *
- * "A value less than or equal to the value of MAX_SAMPLES, if
- * internalformat is RGBA16F, R32F, RG32F, or RGBA32F."
- *
- * In brw_render_target_supported, we prevent formats with a size
- * greater than 8 bytes from using 8x MSAA on gfx7.
- */
- samples[0] = 4;
- return 1;
- } else {
- samples[0] = 8;
- samples[1] = 4;
- return 2;
- }
-
- case 6:
- samples[0] = 4;
- return 1;
-
- default:
- assert(devinfo->ver < 6);
- samples[0] = 1;
- return 1;
- }
-}
-
-void
-brw_query_internal_format(struct gl_context *ctx, GLenum target,
- GLenum internalFormat, GLenum pname, GLint *params)
-{
- /* The Mesa layer gives us a temporary params buffer that is guaranteed
- * to be non-NULL, and have at least 16 elements.
- */
- 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.
- */
- _mesa_query_internal_format_default(ctx, target, internalFormat, pname,
- params);
- break;
- }
-}