summaryrefslogtreecommitdiffstats
path: root/src/mesa/state_tracker
Commit message (Collapse)AuthorAgeFilesLines
* mesa: Remove SGI_color_matrix.Eric Anholt2010-09-232-129/+2
| | | | Another optional ARB_imaging subset extension.
* mesa: Remove the non-required ARB_imaging extension.Eric Anholt2010-09-231-1/+0
| | | | | | | Many of the EXT_ extensions in the subset have significant code overhead with no users. It is not a required part of GL -- though text describing the extension is part of the core spec since 1.2, it is always conditional on the ARB_imaging extension.
* egl: fix build since 17eace581d25a626a7d75d9d1205d012cbb14a6eDave Airlie2010-09-231-1/+1
| | | | looks like mesa st didn't get updated.
* mesa: don't advertise bogus GL_ARB_shading_language_120 extensionBrian Paul2010-09-211-1/+5
| | | | | | | | | | | 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).
* Merge branch 'sprite-coord'Brian Paul2010-09-212-12/+19
|\
| * gallium: rework handling of sprite_coord_enable stateBrian Paul2010-09-172-12/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implement the pipe_rasterizer_state::sprite_coord_enable field in the draw module (and softpipe) according to what's specified in the documentation. The draw module can now add any number of extra vertex attributes to a post-transformed vertex and generate texcoords for those attributes per sprite_coord_enable. Auto-generated texcoords for sprites only worked for one texcoord unit before. The frag shader gl_PointCoord input is now implemented like any other generic/texcoord attribute. The draw module now needs to be informed about fragment shaders since we need to look at the fragment shader's inputs to know which ones need auto-generated texcoords. Only softpipe has been updated so far.
* | st/mesa: fix assertion failure in GetTexImage for cubemapsMarek Olšák2010-09-201-0/+6
|/ | | | | | Can be reproduced with mesa/demos/src/tests/blitfb. NOTE: This is a candidate for the 7.9 branch.
* mesa/st: Silence uninitialized variable warning.Vinson Lee2010-09-151-1/+4
|
* mesa/st: ask GLSL to not emit noise since we have a dummy implementationLuca Barbieri2010-09-141-0/+2
| | | | | | | 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.
* mesa/st: set compiler options based on Gallium shader capsLuca Barbieri2010-09-141-0/+9
| | | | | | | | 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
* gallium: introduce get_shader_param (ALL DRIVERS CHANGED) (v3)Luca Barbieri2010-09-141-24/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* gallium: Remove ST_API_OPENGL_ES1 and ST_API_OPENGL_ES2.Chia-I Wu2010-09-102-66/+0
| | | | They are no longer used.
* gallium: Add context profile support to st_api.Chia-I Wu2010-09-101-20/+55
| | | | | | | | | | | | | | | Add struct st_context_attribs to describe context profiles and attributes. Modify st_api::create_context to take the new struct instead of an st_visual. st_context_attribs can be used to support GLX_ARB_create_context_profile and GLX_EXT_create_context_es2_profile in the future. But the motivation for doing it now is to be able to replace ST_API_OPENGL_ES1 and ST_API_OPENGL_ES2 by profiles. Having 3 st_api's to provide OpenGL, OpenGL ES 1.1, and OpenGL ES 2.0 is not a sane abstraction, since all of them share glapi for current context/dispatch management.
* glsl: add several EmitNo* options, and MaxUnrollIterationsLuca Barbieri2010-09-081-4/+1
| | | | | | | | | 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 <[email protected]>
* glsl: make compiler options per-targetLuca Barbieri2010-09-081-2/+4
| | | | | | | This allows us to specify different options, especially useful for chips without unified shaders. Signed-off-by: Ian Romanick <[email protected]>
* mesa/st: add missing _mesa_set_fetch_functions in st_get_tex_imageLuca Barbieri2010-09-041-0/+2
| | | | Fixes piglit fdo25614-genmipmap.
* st/mesa: clamp gl_constants::MaxVarying against MAX_VARYINGBrian Paul2010-09-021-0/+1
| | | | | Don't try to use more generic varying vars than core Mesa supports. Fixes fd.o bug 29959.
* mesa/st: remove check for buffer/elements = 0Dave Airlie2010-09-021-3/+0
| | | | | | shown by the glsl-vs-point-size failing on r600g. the test passes on softpipe and I get a full piglit test run completing on r600g.
* st/mesa: set the MaxVarying GLSL constantMarek Olšák2010-08-301-0/+7
|
* st/mesa: Include missing header in st_mesa_to_tgsi.c.Vinson Lee2010-08-281-1/+2
| | | | Include p_screen.h for complete type to pipe_screen.
* st/mesa: Remove unnecessary header.Vinson Lee2010-08-261-1/+0
|
* st/mesa: add missing packed depth/stencil formats in st_format_datatype()Brian Paul2010-08-261-1/+3
| | | | Fixes llvmpipe regression from one of the prev commits.
* st/mesa: Fix glEGLImageTargetTexture2DOES.Chia-I Wu2010-08-262-1/+10
| | | | | | | stObj->pt should be set in st_bind_surface, just as in st_TexImage. On the other hand, st_TexImage should unreference stObj->pt. It also needs to initialize the texture image again as _mesa_clear_texture_object clears the image.
* st/mesa: Add support for surfaceless current contexts.Chia-I Wu2010-08-261-4/+27
| | | | | A surfaceless current context is a context that is made current without draw and read framebuffers. Such contexts can only render to FBOs.
* st/mesa: Remove unnecessary header.Vinson Lee2010-08-251-1/+0
|
* gallium: Use draw_set_index_buffer and others.Chia-I Wu2010-08-251-20/+26
| | | | | | Update all drivers to use draw_set_index_buffer, draw_set_mapped_index_buffer, and draw_vbo. Remove draw_set_mapped_element_buffer and draw_set_mapped_element_buffer_range.
* st/mesa: implement depth-only blit for BlitFramebufferMarek Olšák2010-08-221-2/+7
| | | | Signed-off-by: Brian Paul <[email protected]>
* st/mesa: fix BlitFramebuffer for D24S8 texturesMarek Olšák2010-08-221-21/+17
| | | | | | | | | This is the same issue as in the previous patch, but here the Blit is not implemented for separate depth and stencil buffers at all (such a configuration is not supported in Gallium) and the code incorrectly treated a D24S8 texture as two separate buffers, making this Blit a no-op. Signed-off-by: Brian Paul <[email protected]>
* st/mesa: added st_is_depth_stencil_combined() functionBrian Paul2010-08-222-0/+29
| | | | This code is part of a patch by Marek Olšák.
* st/mesa: fix ReadPixels crashes when reading depth/stencil from a FBOBrian Paul2010-08-221-0/+7
| | | | | | This is based on a patch from Marek Olšák. NOTE: This is a candidate for the Mesa 7.8 branch.
* st/mesa: clean-up pipe_get_transfer() callsBrian Paul2010-08-221-12/+12
|
* mesa: Removed another unused variable.José Fonseca2010-08-221-1/+0
|
* mesa: Remove unsused local variable.José Fonseca2010-08-211-1/+0
|
* mesa: Include compiler.h for ASSERT.Chia-I Wu2010-08-201-0/+2
| | | | | mfeatures.h defines ASSERT_NO_FEATURE to ASSERT, which is defined in compiler.h. Header files using the macro should include compiler.h.
* st/mesa: fix code/declaration mixingKeith Whitwell2010-08-201-3/+2
|
* mesa/st: use PIPE_TEXTURE_RECT for GL_TEXTURE_RECTANGLELuca Barbieri2010-08-202-3/+5
|
* mesa/st: support using PIPE_TEXTURE_RECT internallyLuca Barbieri2010-08-205-43/+32
| | | | | | | | | | Currently Gallium internals always use PIPE_TEXTURE_2D and normalized coordinates to access textures. However, PIPE_TEXTURE_2D is not always supported for NPOT textures, and PIPE_TEXTURE_RECT requires unnormalized coordinates. Hence, this change adds support for both kinds of normalization.
* gallium: make all checks for PIPE_TEXTURE_2D check for PIPE_TEXTURE_RECT tooLuca Barbieri2010-08-201-1/+1
| | | | | | | Searched for them with: git grep -E '[!=]=.*PIPE_TEXTURE_2D|PIPE_TEXTURE_2D.*[!=]=|case.*PIPE_TEXTURE_2D' Behavior hasn't been changed.
* Merge branch 'glsl2'Ian Romanick2010-08-161-0/+8
|\ | | | | | | | | Conflicts: src/mesa/program/prog_optimize.c
| * st/mesa: remove output register reads inside shadersMarek Olšák2010-08-161-0/+8
| | | | | | | | This is a GLSL2 regression fix.
* | st/mesa: test for FEATURE definesnobled2010-08-161-0/+2
| | | | | | | | | | | | | | | | | | 'struct dd_function_table' only conditionally contains the function pointer NewFramebuffer and friends based on FEATURE_EXT_framebuffer_* defines. (See src/mesa/main/dd.h) Fixes the build when the features are disabled and the vfuncs don't exist.
* | st/mesa: Remove unnecessary header.Vinson Lee2010-08-061-1/+0
| |
* | st/mesa: remove stray semicolonsBrian Paul2010-08-062-2/+2
|/
* st/mesa: Clean up header file inclusion in st_program.h.Vinson Lee2010-08-053-5/+4
| | | | | | | | | | | | st_program.h Remove p_shader_tokens.h Include st_context.h for st_context symbol. Include p_state.h for PIPE_MAX_SHADER_INPUTS symbol. Remove unnecessary forward declarations. st_cb_bitmap.c st_cb_clear.c Include p_shader_tokens.h now that st_program.h doesn't include it.
* st/mesa: Only get debug option onceJakob Bornecrantz2010-08-051-1/+3
|
* st/mesa: Only get mesa mvp dp4 option onceJakob Bornecrantz2010-08-051-1/+4
| | | | The correct for this is of course to do what comment says
* st/mesa: Clean up header file inclusion in st_mesa_to_tgsi.h.Vinson Lee2010-08-052-1/+4
| | | | | | | | | st_mesa_to_tgsi.h Replace tgsi_ureg.h with a forward declaration. Include p_compiler.h for ubyte symbol. st_program.c Include tgsi_ureg.h directly.
* st/mesa: Clean up header file inclusion in st_manager.h.Vinson Lee2010-08-052-2/+6
| | | | | | | | Include mtypes.h for GLcontext, gl_buffer_index, and GLframebuffer symbols. Include p_compiler.h for boolean symbol. Include st_context.h in st_cb_eglimage.c as it previously included st_context.h indirectly through st_manager.h.
* st/mesa: Remove unnecessary header from st_gl_api.h.Vinson Lee2010-08-051-2/+0
|
* mesa: Include missing header in st_get_mipmap.h.Vinson Lee2010-08-051-0/+4
| | | | | Include mtypes.h for GLcontext symbol. Add forward declaration for st_context.