summaryrefslogtreecommitdiff
path: root/src/mesa/state_tracker
AgeCommit message (Collapse)Author
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-11-04st/mesa: Reset the constant buffers before destroying the pipe context.Tilman Sauerbeck
Signed-off-by: Tilman Sauerbeck <tilman@code-monkey.de>
2010-11-02st/mesa: Reset the index buffer before destroying the pipe context.Tilman Sauerbeck
Signed-off-by: Tilman Sauerbeck <tilman@code-monkey.de>
2010-11-02st/mesa: unbind constant buffer when not in useKeith Whitwell
Important as more constant buffers per shader start to get used. Fix up r600 (tested) and nv50 (untested) to cope with this. Drivers previously didn't see unbinds of constant buffers often or ever, so this isn't always dealt with cleanly. For r600 just return and keep the reference. Will try to do better in a followup change.
2010-10-31st/mesa: Unreference the sampler view in st_bind_surface.Chia-I Wu
Without this, update_textures may not pick up the new pipe_resource. It is actually update_textures that should check stObj->sampler_view->texture != stObj->pt, but let's follow st_TexImage and others for now.
2010-10-28st/mesa: Silence uninitialized variable warning.Vinson Lee
Fixes this GCC warning. state_tracker/st_program.c: In function 'st_print_shaders': state_tracker/st_program.c:735: warning: 'sh' may be used uninitialized in this function
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-27st/mesa: Remove unnecessary header.Vinson Lee
2010-10-25st/mesa: support RGBA16 and use it for RGBA12 as wellMarek Olšák
Tested with r300g. Signed-off-by: Marek Olšák <maraeo@gmail.com>
2010-10-23st/mesa: be smarter choosing texture format for glDrawPixels()Brian Paul
This lets us get an integer texture format for integer pixel formats.
2010-10-23st/mesa: add format selection for signed/unsigned integer formatsBrian Paul
2010-10-23mesa: split up the image.c fileBrian Paul
New files: pack.c - image/row packing/unpacking functions pixeltransfer.c - pixel scale/bias/lookup functions
2010-10-21Merge branch 'primitive-restart-cleanup'Brian Paul
Conflicts: docs/relnotes-7.10.html This branch is a re-do of the primitive-restart branch with all the intermediate/temporary stuff cleaned out.
2010-10-21st/mesa: support for primitive restartBrian Paul
2010-10-21st/mesa: added cases for GL_COMPRESSED_RED/RG in st_choose_format()Brian Paul
2010-10-15st/mesa: update function name, commentsBrian Paul
2010-10-15st/mesa: use GLuint to avoid problem w/ uint not defined on mingw32Brian Paul
2010-10-15st/mesa: reformatting in st_cb_drawpixels.cBrian Paul
2010-10-15st/mesa: fix regressions in glDrawPixels(GL_STENCIL_INDEX)Brian Paul
We need to keep track of three different fragment shaders: Z-only, stencil- only, and Z+stencil. Before, we were only keeping track of the first one we encountered.
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
2010-10-13Rename GLvisual and __GLcontextModes to struct gl_configKristian Høgsberg
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.