i965: Add boilerplate function for QueryInternalFormat driver hook

By default, we call back the driver's hook fallback function that has generic
implementations for the all the queries.

Reviewed-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
Eduardo Lima Mitev 2015-10-27 16:16:24 +01:00
parent 45054f9702
commit 28144c4476
4 changed files with 52 additions and 0 deletions

View file

@ -123,6 +123,7 @@ i965_FILES = \
brw_ff_gs.h \
brw_fs_channel_expressions.cpp \
brw_fs_vector_splitting.cpp \
brw_formatquery.c \
brw_gs.c \
brw_gs.h \
brw_gs_state.c \

View file

@ -380,6 +380,7 @@ brw_init_driver_functions(struct brw_context *brw,
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;
functions->DeleteTransformFeedback = brw_delete_transform_feedback;

View file

@ -1875,6 +1875,11 @@ void brw_emit_depth_stall_flushes(struct brw_context *brw);
void gen7_emit_vs_workaround_flush(struct brw_context *brw);
void gen7_emit_cs_stall_flush(struct brw_context *brw);
/* brw_queryformat.c */
void brw_query_internal_format(struct gl_context *ctx, GLenum target,
GLenum internalFormat, GLenum pname,
GLint *params);
#ifdef __cplusplus
}
#endif

View file

@ -0,0 +1,45 @@
/*
* 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 "main/formatquery.h"
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) {
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;
}
}