summaryrefslogtreecommitdiff
path: root/src/mesa/state_tracker/st_extensions.c
AgeCommit message (Collapse)Author
2011-03-15gallium: add texture barrier support to the interface and st/mesa (v2)Marek Olšák
v2: change the gallium entry point to texture_barrier.
2011-03-11gallium: remove the geom_flags param from is_format_supportedMarek Olšák
2011-03-08st/mesa: implement ARB_syncMarek Olšák
The ServerWaitSync implementation matches Intel's driver. The extension is advertised when pipe_screen::fence_finish is set.
2011-03-08st/mesa: add LATC and 3DC supportMarek Olšák
softpipe passes all tests.
2011-03-05gallium: split CAP_INSTANCE_DRAWING into INSTANCEID and INSTANCE_DIVISORMarek Olšák
ARB_instanced_arrays is a subset of D3D9. ARB_draw_instanced is a subset of D3D10. The point of this change is to allow D3D9-level drivers to enable ARB_instanced_arrays without ARB_draw_instanced.
2011-02-28mesa/st: add RGTC format support.Dave Airlie
this just adds a format check + format conversion.
2011-02-16mesa: Remove the DXT compression via blit path.José Fonseca
No longer used.
2011-02-10mesa/st: enable GL_EXT_framebuffer_sRGBDave Airlie
If the formats don't match we need to update the surface with the new format. if we can render to SRGB formats, enable the extension Signed-off-by: Dave Airlie <airlied@redhat.com>
2011-01-25st/mesa: support for 1D/2D texture arraysBrian Paul
2011-01-24st/mesa: Enable EXT_texture_format_BGRA8888 for gles1/2Benjamin Franzke
2011-01-17st/mesa: move PIPE_CAP_INDEP_BLEND_FUNC codeBrian Paul
2011-01-16gallium: add EXT_texture_sRGB_decode.Dave Airlie
This uses a sampler view to access the texture with the alternate format. Signed-off-by: Dave Airlie <airlied@redhat.com>
2011-01-15mesa: begin implementation of GL_ARB_draw_buffers_blendBrian Paul
2011-01-15st/mesa: GL_ARB_instanced_arrays supportBrian 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-09st/mesa: Include mfeatures.h in files that perform feature tests.Vinson Lee
2011-01-04st/mesa: advertise GL_ARB_half_float_pixelMarek Olšák
This extension doesn't appear to need any driver-specific parts.
2010-12-18mesa/swrast/st: add ARB_occlusion_query2 support.Dave Airlie
This gets my vote for most pointless extension of all time, I'm guessing some driver could possibly optimise for this instead of counting it might just get a true/false, but I'm not really sure. need this to eventually advertise 3.3 despite its total uselessness. Signed-off-by: Dave Airlie <airlied@redhat.com>
2010-12-13mesa, st/mesa: disable GL_ARB_geometry_shader4Brian Paul
The new GLSL compiler doesn't support geom shaders yet so disable the GL_ARB_geometry_shader4 extension. Undo this when geom shaders work again. NOTE: This is a candidate for the 7.10 branch.
2010-12-05st/mesa: GL_ARB_draw_instanced depends on PIPE_CAP_INSTANCED_DRAWINGBrian Paul
2010-11-23mesa: replace #defines with new gl_shader_type enumBrian Paul
2010-11-22st/mesa: set MaxUniformComponentsMarek Olšák
Signed-off-by: Brian Paul <brianp@vmware.com>
2010-11-22gallium: add PIPE_SHADER_CAP_SUBROUTINESMarek Olšák
This fixes piglit/glsl-vs-main-return and glsl-fs-main-return for the drivers which don't support RET (i915g, r300g, r600g, svga). ir_to_mesa does not currently generate subroutines, but it's a matter of time till it's added. It would then break all the drivers which don't implement them, so this CAP makes sense. Signed-off-by: Marek Olšák <maraeo@gmail.com>
2010-11-21st/mesa: enable ARB_explicit_attrib_location and EXT_separate_shader_objectsMarek Olšák
Gallium drivers pass all piglit tests for the two (there are 12 tests for separate_shader_objects and 5 tests for explicit_attrib_location), and I was told the extensions don't need any driver-specific code. I made them dependent on PIPE_CAP_GLSL. Signed-off-by: Brian Paul <brianp@vmware.com>
2010-11-12gallium: add CAPs for indirect addressing and lower it in st/mesa when neededMarek Olšák
Required because ATI and NVIDIA DX9 GPUs do not support indirect addressing of temps, inputs, outputs, and consts (FS-only) or the hw support is so limited that we cannot use it. This should make r300g and possibly nvfx more feature complete. Signed-off-by: Marek Olšák <maraeo@gmail.com>
2010-10-21st/mesa: support for primitive restartBrian Paul
2010-10-13Drop GLcontext typedef and use struct gl_context insteadKristian Høgsberg
2010-10-13st/mesa: enable stencil shader export extension if supportedDave Airlie
2010-10-02mesa/st: initial attempt at RG support for gallium driversDave Airlie
passes all piglit RG tests with softpipe.
2010-09-23mesa: Remove SGI_color_matrix.Eric Anholt
Another optional ARB_imaging subset extension.
2010-09-21mesa: don't advertise bogus GL_ARB_shading_language_120 extensionBrian Paul
Instead of using the invalid GL_ARB_shading_language_120 extension to determine the GLSL version, use a new ctx->Const.GLSLVersion field. Updated the intel and r600 drivers, but untested. See fd.o bug 29910 NOTE: This is a candidate for the 7.9 branch (but let's wait and see if there's any regressions).
2010-09-15mesa/st: Silence uninitialized variable warning.Vinson Lee
2010-09-14mesa/st: ask GLSL to not emit noise since we have a dummy implementationLuca Barbieri
Note, BTW, that the Gallium implementation returns 0.5, which seems to violate the GLSL spec, where it should return 0.0 instead. Not sure whether changing it to 0 is correct or not.
2010-09-14mesa/st: set compiler options based on Gallium shader capsLuca Barbieri
This turns on if conversion and unlimited loop unrolling if control flow is not supported. NOTE: this will change the behavior of r300g and any other driver that doesn't advertise control flow
2010-09-14gallium: introduce get_shader_param (ALL DRIVERS CHANGED) (v3)Luca Barbieri
Changes in v3: - Also change trace, which I forgot about Changes in v2: - No longer adds tessellation shaders Currently each shader cap has FS and VS versions. However, we want a version of them for geometry, tessellation control, and tessellation evaluation shaders, and want to be able to easily query a given cap type for a given shader stage. Since having 5 duplicates of each shader cap is unmanageable, add a new get_shader_param function that takes both a shader cap from a new enum and a shader stage. Drivers with non-unified shaders will first switch on the shader and, within each case, switch on the cap. Drivers with unified shaders instead first check whether the shader is supported, and then switch on the cap. MAX_CONST_BUFFERS is now per-stage. The geometry shader cap is removed in favor of checking whether the limit of geometry shader instructions is greater than 0, which is also used for tessellation shaders. WARNING: all drivers changed and compiled but only nvfx tested
2010-09-08glsl: add several EmitNo* options, and MaxUnrollIterationsLuca Barbieri
This increases the chance that GLSL programs will actually work. Note that continues and returns are not yet lowered, so linking will just fail if not supported. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
2010-09-08glsl: make compiler options per-targetLuca Barbieri
This allows us to specify different options, especially useful for chips without unified shaders. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
2010-09-02st/mesa: clamp gl_constants::MaxVarying against MAX_VARYINGBrian Paul
Don't try to use more generic varying vars than core Mesa supports. Fixes fd.o bug 29959.
2010-08-30st/mesa: set the MaxVarying GLSL constantMarek Olšák
2010-07-21st/mesa: implement depth clampMarek Olšák
2010-07-20st/mesa: implement and advertise GL_ARB_draw_elements_base_vertexMarek Olšák
Signed-off-by: Brian Paul <brianp@vmware.com>
2010-06-28mesa: initial support for ARB_geometry_shader4Zack Rusin
laying down the foundation for everything and implementing most of the stuff. linking, gl_VerticesIn and multidimensional inputs are left.
2010-06-06st/mesa: advertise GL_ARB_fragment_program_shadowMarek Olšák
There is nothing driver-specific about this one. I've also tested it just to be sure.
2010-06-05st/mesa: trivially enable GL_ATI_texture_env_combine3Marek Olšák
This extension is implemented in the texenv program. Gallium drivers pass patched glean/texCombine. (I am going to send the patch soon) Catalyst9.3 advertises this extension too so I don't see a reason we shouldn't.
2010-06-05mesa/st: add support for EXT_texture_swizzle.Dave Airlie
This passes on r300g, the only bit I'm not really sure about is the handling of the sampler_view in st_atom_texture.c, I unreference it there if the swizzle value changes and I also have to create a new set of functions to create a new one since the u_sampler.c ones don't handle swizzle so much. adds r300g + softpipe enables, I think other drivers could pass easily enough. Signed-off-by: Dave Airlie <airlied@redhat.com>
2010-05-28st/mesa: advertise ARB_half_float_vertex when availableMarek Olšák
Both softpipe and llvmpipe pass the piglit half float test.
2010-05-21Merge branch 'gallium-msaa'Roland Scheidegger
Conflicts: src/mesa/state_tracker/st_gen_mipmap.c src/mesa/state_tracker/st_texture.c
2010-05-17mesa/st: adapt to interface changesRoland Scheidegger
adapt to blit changes, and also handle a bit more msaa state in theory (incomplete, doesn't handle resolves in any way for now).
2010-05-17gallium: EXT_timer_query support.Mathias Fröhlich
Signed-off-by: Corbin Simpson <MostAwesomeDude@gmail.com>
2010-05-12mesa/st: Expose pipe driver's shader limits.José Fonseca