X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fmesa%2Fdrivers%2Fdri%2Fi965%2Fintel_screen.h;h=945f6f5f43f01c6efc56f43c4ba5577c8914aaef;hb=cf40ebacb113a370c1b2445e881f8dc440a7d8f3;hp=9af42201e631d1976a78a44a80de7976bcd30e5a;hpb=8c9a54e7bcfc80295ad77097910d35958dfd3644;p=mesa.git diff --git a/src/mesa/drivers/dri/i965/intel_screen.h b/src/mesa/drivers/dri/i965/intel_screen.h index 9af42201e63..945f6f5f43f 100644 --- a/src/mesa/drivers/dri/i965/intel_screen.h +++ b/src/mesa/drivers/dri/i965/intel_screen.h @@ -1,8 +1,8 @@ /************************************************************************** - * - * Copyright 2003 Tungsten Graphics, Inc., Cedar Park, Texas. + * + * Copyright 2003 VMware, Inc. * All Rights Reserved. - * + * * 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 @@ -10,19 +10,19 @@ * distribute, sub license, 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 NON-INFRINGEMENT. - * IN NO EVENT SHALL TUNGSTEN GRAPHICS AND/OR ITS SUPPLIERS BE LIABLE FOR + * IN NO EVENT SHALL VMWARE AND/OR ITS SUPPLIERS 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. - * + * **************************************************************************/ #ifndef _INTEL_INIT_H_ @@ -32,34 +32,29 @@ #include #include "dri_util.h" #include "intel_bufmgr.h" +#include "intel_chipset.h" +#include "brw_device_info.h" #include "i915_drm.h" #include "xmlconfig.h" struct intel_screen { int deviceID; - int gen; - - int max_gl_core_version; - int max_gl_compat_version; - int max_gl_es1_version; - int max_gl_es2_version; + const struct brw_device_info *devinfo; __DRIscreen *driScrnPriv; bool no_hw; - /* - * The hardware hiz and separate stencil fields are needed in intel_screen, - * rather than solely in brw_context, because glXCreatePbuffer and - * glXCreatePixmap are not passed a GLXContext. - */ - bool hw_has_separate_stencil; bool hw_must_use_separate_stencil; - bool hw_has_llc; bool hw_has_swizzling; + /** + * Does the kernel support context reset notifications? + */ + bool has_context_reset_notification; + dri_bufmgr *bufmgr; /** @@ -67,6 +62,46 @@ struct intel_screen */ unsigned program_id; + int winsys_msaa_samples_override; + + struct { + struct ra_regs *regs; + + /** + * Array of the ra classes for the unaligned contiguous register + * block sizes used. + */ + int *classes; + + /** + * Mapping for register-allocated objects in *regs to the first + * GRF for that object. + */ + uint8_t *ra_reg_to_grf; + } vec4_reg_set; + + struct { + struct ra_regs *regs; + + /** + * Array of the ra classes for the unaligned contiguous register + * block sizes used, indexed by register size. + */ + int classes[16]; + + /** + * Mapping for register-allocated objects in *regs to the first + * GRF for that object. + */ + uint8_t *ra_reg_to_grf; + + /** + * ra class for the aligned pairs we use for PLN, which doesn't + * appear in *classes. + */ + int aligned_pairs_class; + } wm_reg_sets[2]; + /** * Configuration cache with default values for all contexts */ @@ -77,6 +112,8 @@ extern void intelDestroyContext(__DRIcontext * driContextPriv); extern GLboolean intelUnbindContext(__DRIcontext * driContextPriv); +PUBLIC const __DRIextension **__driDriverGetExtensions_i965(void); + extern GLboolean intelMakeCurrent(__DRIcontext * driContextPriv, __DRIdrawable * driDrawPriv, @@ -85,4 +122,7 @@ intelMakeCurrent(__DRIcontext * driContextPriv, double get_time(void); void aub_dump_bmp(struct gl_context *ctx); +const int* +intel_supported_msaa_modes(const struct intel_screen *screen); + #endif