summaryrefslogtreecommitdiff
path: root/src/mesa/state_tracker
AgeCommit message (Collapse)Author
2010-10-13st/mesa: enable stencil shader export extension if supportedDave Airlie
2010-10-13st/mesa: use shader stencil export to accelerate shader drawpixels.Dave Airlie
If the pipe driver has shader stencil export we can accelerate DrawPixels using it. It tries to pick an S8 texture and works its way to X24S8 and S8X24 if that isn't supported.
2010-10-13st/mesa: add option to choose a texture format that we won't render to.Dave Airlie
We need a texture to put the drawpixels stuff into, an S8 texture is less memory/bandwidth than the 32-bit X24S8, but we might not be able to render directly to an S8, so this lets us specify we won't be rendering to this texture.
2010-10-05st/mesa: replace assertion w/ conditional in framebuffer invalidationBrian Paul
https://bugs.freedesktop.org/show_bug.cgi?id=30632 NOTE: this is a candidate for the 7.9 branch.
2010-10-02mesa/st: initial attempt at RG support for gallium driversDave Airlie
passes all piglit RG tests with softpipe.
2010-09-30st: remove duplicated includeNicolas Kaiser
Remove duplicated include. Signed-off-by: Brian Paul <brianp@vmware.com>
2010-09-27Remove unnescessary initializations of UpdateTexturePaletteIan Romanick
This is already NULL'ed in _mesa_init_driver_functions.
2010-09-24st/mesa: use the wrapped renderbuffer in CopyPixels()Brian Paul
Fixes assertion failures when copying stencil pixels. NOTE: this is a candidate for the 7.9 branch.
2010-09-24st/mesa: add missing MESA_FORMAT_S8 case in st_mesa_format_to_pipe_format()Brian Paul
NOTE: this is a candidate for the 7.9 branch.
2010-09-23mesa: Remove EXT_convolution.Eric Anholt
More optional code.
2010-09-23mesa: Remove SGI_color_matrix.Eric Anholt
Another optional ARB_imaging subset extension.
2010-09-23mesa: Remove the non-required ARB_imaging extension.Eric Anholt
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.
2010-09-23egl: fix build since 17eace581d25a626a7d75d9d1205d012cbb14a6eDave Airlie
looks like mesa st didn't get updated.
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.