summaryrefslogtreecommitdiff
path: root/src/mesa/state_tracker
AgeCommit message (Collapse)Author
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-21Merge branch 'sprite-coord'Brian Paul
2010-09-20st/mesa: fix assertion failure in GetTexImage for cubemapsMarek Olšák
Can be reproduced with mesa/demos/src/tests/blitfb. NOTE: This is a candidate for the 7.9 branch.
2010-09-17gallium: rework handling of sprite_coord_enable stateBrian Paul
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.
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-10gallium: Remove ST_API_OPENGL_ES1 and ST_API_OPENGL_ES2.Chia-I Wu
They are no longer used.
2010-09-10gallium: Add context profile support to st_api.Chia-I Wu
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.
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-04mesa/st: add missing _mesa_set_fetch_functions in st_get_tex_imageLuca Barbieri
Fixes piglit fdo25614-genmipmap.
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-09-02mesa/st: remove check for buffer/elements = 0Dave Airlie
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.
2010-08-30st/mesa: set the MaxVarying GLSL constantMarek Olšák
2010-08-28st/mesa: Include missing header in st_mesa_to_tgsi.c.Vinson Lee
Include p_screen.h for complete type to pipe_screen.
2010-08-26st/mesa: Remove unnecessary header.Vinson Lee
2010-08-26st/mesa: add missing packed depth/stencil formats in st_format_datatype()Brian Paul
Fixes llvmpipe regression from one of the prev commits.
2010-08-26st/mesa: Fix glEGLImageTargetTexture2DOES.Chia-I Wu
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.
2010-08-26st/mesa: Add support for surfaceless current contexts.Chia-I Wu
A surfaceless current context is a context that is made current without draw and read framebuffers. Such contexts can only render to FBOs.
2010-08-25st/mesa: Remove unnecessary header.Vinson Lee
2010-08-25gallium: Use draw_set_index_buffer and others.Chia-I Wu
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.
2010-08-22st/mesa: implement depth-only blit for BlitFramebufferMarek Olšák
Signed-off-by: Brian Paul <brianp@vmware.com>
2010-08-22st/mesa: fix BlitFramebuffer for D24S8 texturesMarek Olšák
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 <brianp@vmware.com>
2010-08-22st/mesa: added st_is_depth_stencil_combined() functionBrian Paul
This code is part of a patch by Marek Olšák.
2010-08-22st/mesa: fix ReadPixels crashes when reading depth/stencil from a FBOBrian Paul
This is based on a patch from Marek Olšák. NOTE: This is a candidate for the Mesa 7.8 branch.
2010-08-22st/mesa: clean-up pipe_get_transfer() callsBrian Paul
2010-08-22mesa: Removed another unused variable.José Fonseca
2010-08-21mesa: Remove unsused local variable.José Fonseca
2010-08-20mesa: Include compiler.h for ASSERT.Chia-I Wu
mfeatures.h defines ASSERT_NO_FEATURE to ASSERT, which is defined in compiler.h. Header files using the macro should include compiler.h.
2010-08-20st/mesa: fix code/declaration mixingKeith Whitwell
2010-08-20mesa/st: use PIPE_TEXTURE_RECT for GL_TEXTURE_RECTANGLELuca Barbieri
2010-08-20mesa/st: support using PIPE_TEXTURE_RECT internallyLuca Barbieri
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.
2010-08-20gallium: make all checks for PIPE_TEXTURE_2D check for PIPE_TEXTURE_RECT tooLuca Barbieri
Searched for them with: git grep -E '[!=]=.*PIPE_TEXTURE_2D|PIPE_TEXTURE_2D.*[!=]=|case.*PIPE_TEXTURE_2D' Behavior hasn't been changed.
2010-08-16Merge branch 'glsl2'Ian Romanick
Conflicts: src/mesa/program/prog_optimize.c
2010-08-16st/mesa: test for FEATURE definesnobled
'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.
2010-08-16st/mesa: remove output register reads inside shadersMarek Olšák
This is a GLSL2 regression fix.
2010-08-06st/mesa: Remove unnecessary header.Vinson Lee
2010-08-06st/mesa: remove stray semicolonsBrian Paul
2010-08-05st/mesa: Clean up header file inclusion in st_program.h.Vinson Lee
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.
2010-08-05st/mesa: Only get debug option onceJakob Bornecrantz
2010-08-05st/mesa: Only get mesa mvp dp4 option onceJakob Bornecrantz
The correct for this is of course to do what comment says
2010-08-05st/mesa: Clean up header file inclusion in st_mesa_to_tgsi.h.Vinson Lee
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.
2010-08-05st/mesa: Clean up header file inclusion in st_manager.h.Vinson Lee
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.
2010-08-05st/mesa: Remove unnecessary header from st_gl_api.h.Vinson Lee
2010-08-05mesa: Include missing header in st_get_mipmap.h.Vinson Lee
Include mtypes.h for GLcontext symbol. Add forward declaration for st_context.
2010-08-05st/mesa: Include missing headers in st_format.h.Vinson Lee
2010-08-05st/mesa: Add forward delcaration in st_extensions.h.Vinson Lee
2010-08-05st/mesa: Add missing headers to st_draw.h.Vinson Lee