summaryrefslogtreecommitdiff
path: root/src/mesa/main/mtypes.h
AgeCommit message (Collapse)Author
2011-03-15mesa: use 1UL for 64-bit unsigned constant for C++Brian Paul
This fixes C++ warnings where BITFIELD64_BIT() is used.
2011-03-15mesa: add NV_texture_barrierMarek Olšák
2011-03-12Revert "mesa: Track a computed _CurrentFragmentProgram for current ↵Eric Anholt
gl_shader_program" This reverts commit b4452c3baad6e0379eeb7f22f2e51d13999e1323.
2011-03-11mesa: Track a computed _CurrentFragmentProgram for current gl_shader_programEric Anholt
This is like how we track FragmentProgram._Current for the computed ARB fragment program for fixed function texenv, but this gives direct access to the gl_shader_program for drivers to codegen from, skipping ARB_fp.
2011-03-11mesa: move location of some geometry program limitsBrian Paul
The gl_program_constants struct is for limits that are applicable to any/all shader stages. Move the geometry shader-only fields into the gl_constants struct. Remove redundant MaxGeometryUniformComponents field too.
2011-03-08mesa: add ATI_texture_compression_3dcMarek Olšák
LUMINANCE_ALPHA_LATC2 = LUMINANCE_ALPHA_3DC, so this is easy. Note that there is no specification for 3DC, just a few white papers from ATI.
2011-03-08mesa: add EXT_texture_compression_latcMarek Olšák
The encoding/decoding algorithms are shared with RGTC. Thanks to some magic with the base format, the RGTC texstore functions work for LATC too. swrast passes the related piglit tests besides two things: - The alpha channel is wrong (it's always 1), however the incorrect alpha channel makes some other tests fail too, so I guess it's unrelated to LATC. - Signed LATC fetches aren't correct yet (signed values are clamped to [0,1]), however RGTC has the same problem. Further testing (with other of my patches) shows that hardware drivers and softpipe work. BTW, ETQW uses this extension.
2011-03-07mesa: invalidate framebuffer if internal format of renderbuffer is changedMarek Olšák
RenderTexture doesn't have to be called in invalidate_rb, I guess.
2011-03-02mesa: added gl_program_constants::MaxAddressOffsetBrian Paul
See https://bugs.freedesktop.org/show_bug.cgi?id=29418
2011-02-28mesa: remove GL_SGI_texture_color_table supportBrian Paul
It was only implemented in the swrast driver and probably not used by any applications. A modern app would use a dependent/chained texture lookup in the fragment shader.
2011-02-17mesa: remove the MESA_NO_DITHER env varBrian Paul
This was sometimes useful back when 16-bit framebuffers were prominent.
2011-02-16mesa: use gl_format type instead of GLuintBrian Paul
2011-02-14vbo: bind arrays only when necessaryMarek Olšák
We don't need to call bind_arrays in the vbo module if the states which the function depends on are not dirty.
2011-02-11mesa: remove some unused gl_shader fieldsBrian Paul
2011-02-08mesa: remove unused BITFIELD64 macrosBrian Paul
2011-02-05mesa/965: add support for GL_EXT_framebuffer_sRGB (v2)Dave Airlie
This adds i965 support for GL_EXT_framebuffer_sRGB, it introduces a new constant to say that the driver can support sRGB enabled FBOs since enabling the extension doesn't mean the driver can actually support sRGB. Also adds the suggested state flush in the core code suggested by Brian. fix the ARB_fbo color encoding. Signed-off-by: Dave Airlie <airlied@redhat.com>
2011-01-26mesa: Propagate gl_FragDepth layout from GLSL IR to Mesa IRChad Versace
2011-01-26mesa: Add AMD_conservative_depth to extension listChad Versace
The extension is off by default. First in a patchset that implements support for AMD_conservative_depth in the compiler.
2011-01-23mesa: get rid of _NEW_ACCUM, clean-up _NEW_* #definesBrian Paul
The _NEW_ACCUM flag was only set when changing the accumulation buffer clear color and never used anywhere. Reclaim that dirty bit. Clean up the definitions of the other dirty bit flags.
2011-01-21mesa: EXT_framebuffer_sRGB interface additions.Dave Airlie
This adds the get/enable enums and internal gl_config storage for this extension. In theory this is all that is needed to enable this extension from what I can see, since its not mandatory to implement the features if you don't advertise the visuals or the fb configs. Signed-off-by: Dave Airlie <airlied@redhat.com>
2011-01-20mesa: clean-up _mesa_lookup_prim_by_nr()Brian Paul
Remove the redundant public _mesa_prim_name[] array.
2011-01-20mesa: move extra prim mode #definesBrian Paul
2011-01-20mesa: minor formatting fixesBrian Paul
2011-01-20mesa: document sRGBDecode fieldBrian Paul
2011-01-19mesa: implement glGetShaderPrecisionFormat()Brian Paul
Drivers should override the default range/precision info as needed. No drivers do this yet.
2011-01-16mesa/swrast: implement EXT_texture_sRGB_decodeDave Airlie
This implements the extension by choosing a different set of texture fetch functions when the texture parameter changes. Signed-off-by: Dave Airlie <airlied@redhat.com>
2011-01-15mesa: begin implementation of GL_ARB_draw_buffers_blendBrian Paul
2011-01-15mesa: support for GL_ARB_instanced_arraysBrian Paul
2011-01-15Merge branch 'draw-instanced'Brian Paul
Conflicts: src/gallium/auxiliary/draw/draw_llvm.c src/gallium/drivers/llvmpipe/lp_state_fs.c src/glsl/ir_set_program_inouts.cpp src/mesa/tnl/t_vb_program.c
2011-01-14mesa: Add extension enable bit for GL_ARB_ES2_compatibility.Eric Anholt
2011-01-13mesa: Change OES_standard_derivatives to be stand-alone extensionChad Versace
Add a bit in struct gl_extensions for OES_standard_derivatives, and enable the bit by default. Advertise the extension only if the bit is enabled. Previously, OES_standard_derivatives was advertised in GLES2 contexts if ARB_framebuffer_object was enabled.
2011-01-12mesa: Refactor handling of extension stringsChad Versace
Place GL, GLES1, and GLES2 extensions in a unified extension table. This allows one to enable, disable, and query the status of GLES1 and GLES2 extensions by name. When tested on Intel Ironlake, this patch did not alter the extension string [as given by glGetString(GL_EXTENSIONS)] for any API. Reviewed-by: Ian Romanick <idr@freedesktop.org> Reviewed-by: Brian Paul <brianp@vmware.com>
2011-01-04mesa: Make _mesa_choose_tex_format() choose formats out of a supported table.Eric Anholt
Right now this is just tweaking the current code to look at the table. Choosing actually supported formats will come later.
2010-12-08mesa: add PROGRAM_SYSTEM_VALUE and related tokensBrian Paul
System values are shader inputs which don't necessarily change from vertex to vertex or fragment to fragment. gl_InstanceID and gl_FrontFacing are examples.
2010-12-02mesa: raise max texture sizes to 16KBrian Paul
This allows 16K x 16K 2D textures, for example, but we don't want to allow that for 3D textures. The new gl_constants::MaxTextureMBytes field is used to prevent allocating too large of texture image. This allows a 16K x 32 x 32 3D texture, for example, but prevents 16K^3. Drivers can override this limit. The default is currently 1GB. Apps should use the proxy texture mechanism to determine the actual max texture size.
2010-12-01glsl: Lower ir_binop_pow to a sequence of EXP2 and LOG2Ian Romanick
2010-11-23mesa: replace #defines with new gl_shader_type enumBrian Paul
2010-11-10mesa: remove unneeded DD_POINT_SIZE and DD_LINE_WIDTH tricapsRoland Scheidegger
DD_POINT_SIZE was broken for quite some time, and the only driver (r200) relying on this no longer needs it. Both DD_POINT_SIZE and DD_LINE_WIDTH have no users left outside of debugging output, hence instead of fixing DD_POINT_SIZE setting just drop both of them - there was a plan to remove tricaps flags entirely at some point.
2010-11-02mesa: move the gl_config struct declarationBrian Paul
It was in the middle of the lighting-related structures before. Also add some info about field sizes in this structure.
2010-10-28mesa: state/queries for GL_MIN/MAX_PROGRAM_TEXEL_OFFSET_EXTBrian Paul
2010-10-28mesa: add gl_client_array::Integer field and related vertex array state codeBrian Paul
2010-10-27Track separate programs for each stageIan Romanick
The assumption is that all stages are the same program or that varyings are passed between stages using built-in varyings.
2010-10-27mesa: Track an ActiveProgram distinct from CurrentProgramIan Romanick
ActiveProgram is the GL_EXT_separate_shader_objects state variable used for glUniform calls. glUseProgram also sets this.
2010-10-27mesa: Add infrastructure to track GL_EXT_separate_shader_objectsIan Romanick
2010-10-23mesa: added new gl_framebuffer::_IntegerColor fieldBrian Paul
2010-10-23mesa: added new gl_extensions::EXT_gpu_shader4 fieldBrian Paul
2010-10-14glsl: Slightly change the semantic of _LinkedShadersIan Romanick
Previously _LinkedShaders was a compact array of the linked shaders for each shader stage. Now it is arranged such that each slot, indexed by the MESA_SHADER_* defines, refers to a specific shader stage. As a result, some slots will be NULL. This makes things a little more complex in the linker, but it simplifies things in other places. As a side effect _NumLinkedShaders is removed. NOTE: This may be a candidate for the 7.9 branch. If there are other patches that get backported to 7.9 that use _LinkedShader, this patch should be cherry picked also.
2010-10-14Drop the "neutral" tnl moduleKristian Høgsberg
Just always check for FLUSH_UPDATE_CURRENT and call Driver.BeginVertices when necessary. By using the unlikely() macros, this ends up as a 10% performance improvement (for isosurf, anyway) over the old, complicated function pointer swapping.
2010-10-13Drop GLcontext typedef and use struct gl_context insteadKristian Høgsberg
2010-10-13Drop GLframebuffer typedef and just use struct gl_framebufferKristian Høgsberg