X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fmesa%2Fmain%2Fmtypes.h;h=269eef59cb3059818e440919bd21deb00baeb2a4;hb=9527bb4e704e3d9229cb7977ae598ed207a0502d;hp=ef9fce24d91eca99ab178bc977d964a1a191565e;hpb=67f40dadaa6666dacd90d1540eaadef20b9d48ba;p=mesa.git diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h index ef9fce24d91..269eef59cb3 100644 --- a/src/mesa/main/mtypes.h +++ b/src/mesa/main/mtypes.h @@ -213,6 +213,9 @@ struct gl_config /* EXT_framebuffer_sRGB */ GLint sRGBCapable; + + /* EGL_KHR_mutable_render_buffer */ + GLuint mutableRenderBuffer; /* bool */ }; @@ -2893,6 +2896,12 @@ struct gl_shader_program_data /* Mask of stages this program was linked against */ unsigned linked_stages; + + /* Whether the shaders of this program are loaded from SPIR-V binaries + * (all have the SPIR_V_BINARY_ARB state). This was introduced by the + * ARB_gl_spirv extension. + */ + bool spirv; }; /** @@ -3330,6 +3339,7 @@ struct gl_renderbuffer */ GLboolean NeedsFinishRenderTexture; GLubyte NumSamples; /**< zero means not multisampled */ + GLubyte NumStorageSamples; /**< for AMD_framebuffer_multisample_advanced */ GLenum16 InternalFormat; /**< The user-specified format */ GLenum16 _BaseFormat; /**< Either GL_RGB, GL_RGBA, GL_DEPTH_COMPONENT or GL_STENCIL_INDEX. */ @@ -3501,6 +3511,9 @@ struct gl_framebuffer struct gl_renderbuffer *_ColorDrawBuffers[MAX_DRAW_BUFFERS]; struct gl_renderbuffer *_ColorReadBuffer; + /* GL_MESA_framebuffer_flip_y */ + bool FlipY; + /** Delete this framebuffer */ void (*Delete)(struct gl_framebuffer *fb); }; @@ -3721,6 +3734,18 @@ struct gl_constants */ GLboolean AllowGLSLExtensionDirectiveMidShader; + /** + * Allow builtins as part of constant expressions. This was not allowed + * until GLSL 1.20 this allows it everywhere. + */ + GLboolean AllowGLSLBuiltinConstantExpression; + + /** + * Allow some relaxation of GLSL ES shader restrictions. This encompasses + * a number of relaxations to the ES shader rules. + */ + GLboolean AllowGLSLRelaxedES; + /** * Allow GLSL built-in variables to be redeclared verbatim */ @@ -3916,6 +3941,21 @@ struct gl_constants GLint MaxDepthTextureSamples; GLint MaxIntegerSamples; + /** GL_AMD_framebuffer_multisample_advanced */ + GLint MaxColorFramebufferSamples; + GLint MaxColorFramebufferStorageSamples; + GLint MaxDepthStencilFramebufferSamples; + + /* An array of supported MSAA modes allowing different sample + * counts per attachment type. + */ + struct { + GLint NumColorSamples; + GLint NumColorStorageSamples; + GLint NumDepthStencilSamples; + } SupportedMultisampleModes[40]; + GLint NumSupportedMultisampleModes; + /** * GL_EXT_texture_multisample_blit_scaled implementation assumes that * samples are laid out in a rectangular grid roughly corresponding to @@ -4183,6 +4223,7 @@ struct gl_extensions GLboolean EXT_pixel_buffer_object; GLboolean EXT_point_parameters; GLboolean EXT_provoking_vertex; + GLboolean EXT_render_snorm; GLboolean EXT_semaphore; GLboolean EXT_semaphore_fd; GLboolean EXT_shader_integer_mix; @@ -4214,6 +4255,7 @@ struct gl_extensions GLboolean OES_texture_view; GLboolean OES_viewport_array; /* vendor extensions */ + GLboolean AMD_framebuffer_multisample_advanced; GLboolean AMD_performance_monitor; GLboolean AMD_pinned_memory; GLboolean AMD_seamless_cubemap_per_texture; @@ -4226,7 +4268,6 @@ struct gl_extensions GLboolean ATI_texture_mirror_once; GLboolean ATI_texture_env_combine3; GLboolean ATI_fragment_shader; - GLboolean ATI_separate_stencil; GLboolean GREMEDY_string_marker; GLboolean INTEL_conservative_rasterization; GLboolean INTEL_performance_query; @@ -4236,6 +4277,7 @@ struct gl_extensions GLboolean KHR_texture_compression_astc_hdr; GLboolean KHR_texture_compression_astc_ldr; GLboolean KHR_texture_compression_astc_sliced_3d; + GLboolean MESA_framebuffer_flip_y; GLboolean MESA_tile_raster_order; GLboolean MESA_pack_invert; GLboolean EXT_shader_framebuffer_fetch; @@ -4247,6 +4289,7 @@ struct gl_extensions GLboolean NV_fog_distance; GLboolean NV_point_sprite; GLboolean NV_primitive_restart; + GLboolean NV_shader_atomic_float; GLboolean NV_texture_barrier; GLboolean NV_texture_env_combine4; GLboolean NV_texture_rectangle; @@ -4415,7 +4458,7 @@ struct gl_dlist_state GLvertexformat ListVtxfmt; GLubyte ActiveAttribSize[VERT_ATTRIB_MAX]; - GLfloat CurrentAttrib[VERT_ATTRIB_MAX][4]; + GLfloat CurrentAttrib[VERT_ATTRIB_MAX][8]; GLubyte ActiveMaterialSize[MAT_ATTRIB_MAX]; GLfloat CurrentMaterial[MAT_ATTRIB_MAX][4];