summaryrefslogtreecommitdiffstats
path: root/src/mesa/state_tracker
Commit message (Collapse)AuthorAgeFilesLines
* st/mesa: Reset the constant buffers before destroying the pipe context.Tilman Sauerbeck2010-11-041-0/+5
| | | | Signed-off-by: Tilman Sauerbeck <[email protected]>
* st/mesa: Reset the index buffer before destroying the pipe context.Tilman Sauerbeck2010-11-021-0/+2
| | | | Signed-off-by: Tilman Sauerbeck <[email protected]>
* st/mesa: unbind constant buffer when not in useKeith Whitwell2010-11-021-1/+4
| | | | | | | | | | | 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.
* st/mesa: Unreference the sampler view in st_bind_surface.Chia-I Wu2010-10-311-0/+1
| | | | | | | | 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.
* st/mesa: Silence uninitialized variable warning.Vinson Lee2010-10-281-0/+4
| | | | | | 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
* Track separate programs for each stageIan Romanick2010-10-273-14/+49
| | | | | The assumption is that all stages are the same program or that varyings are passed between stages using built-in varyings.
* st/mesa: Remove unnecessary header.Vinson Lee2010-10-271-1/+0
|
* st/mesa: support RGBA16 and use it for RGBA12 as wellMarek Olšák2010-10-251-1/+10
| | | | | | Tested with r300g. Signed-off-by: Marek Olšák <[email protected]>
* st/mesa: be smarter choosing texture format for glDrawPixels()Brian Paul2010-10-231-4/+46
| | | | This lets us get an integer texture format for integer pixel formats.
* st/mesa: add format selection for signed/unsigned integer formatsBrian Paul2010-10-231-0/+120
|
* mesa: split up the image.c fileBrian Paul2010-10-233-0/+4
| | | | | | New files: pack.c - image/row packing/unpacking functions pixeltransfer.c - pixel scale/bias/lookup functions
* Merge branch 'primitive-restart-cleanup'Brian Paul2010-10-212-0/+7
|\ | | | | | | | | | | | | | | 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.
| * st/mesa: support for primitive restartBrian Paul2010-10-212-0/+7
| |
* | st/mesa: added cases for GL_COMPRESSED_RED/RG in st_choose_format()Brian Paul2010-10-211-0/+2
|/
* st/mesa: update function name, commentsBrian Paul2010-10-151-6/+14
|
* st/mesa: use GLuint to avoid problem w/ uint not defined on mingw32Brian Paul2010-10-151-1/+1
|
* st/mesa: reformatting in st_cb_drawpixels.cBrian Paul2010-10-151-20/+32
|
* st/mesa: fix regressions in glDrawPixels(GL_STENCIL_INDEX)Brian Paul2010-10-152-7/+23
| | | | | | 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.
* Drop GLcontext typedef and use struct gl_context insteadKristian Høgsberg2010-10-1345-169/+169
|
* Drop GLframebuffer typedef and just use struct gl_framebufferKristian Høgsberg2010-10-136-17/+17
|
* Rename GLvisual and __GLcontextModes to struct gl_configKristian Høgsberg2010-10-133-6/+6
|
* st/mesa: enable stencil shader export extension if supportedDave Airlie2010-10-131-0/+4
|
* st/mesa: use shader stencil export to accelerate shader drawpixels.Dave Airlie2010-10-134-57/+158
| | | | | | 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.
* st/mesa: add option to choose a texture format that we won't render to.Dave Airlie2010-10-133-8/+22
| | | | | | | 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.
* st/mesa: replace assertion w/ conditional in framebuffer invalidationBrian Paul2010-10-051-2/+11
| | | | | | https://bugs.freedesktop.org/show_bug.cgi?id=30632 NOTE: this is a candidate for the 7.9 branch.
* mesa/st: initial attempt at RG support for gallium driversDave Airlie2010-10-024-1/+93
| | | | passes all piglit RG tests with softpipe.
* st: remove duplicated includeNicolas Kaiser2010-09-301-1/+0
| | | | | | Remove duplicated include. Signed-off-by: Brian Paul <[email protected]>
* Remove unnescessary initializations of UpdateTexturePaletteIan Romanick2010-09-271-1/+0
| | | | This is already NULL'ed in _mesa_init_driver_functions.
* st/mesa: use the wrapped renderbuffer in CopyPixels()Brian Paul2010-09-241-1/+11
| | | | | | Fixes assertion failures when copying stencil pixels. NOTE: this is a candidate for the 7.9 branch.
* st/mesa: add missing MESA_FORMAT_S8 case in st_mesa_format_to_pipe_format()Brian Paul2010-09-241-0/+2
| | | | NOTE: this is a candidate for the 7.9 branch.
* mesa: Remove EXT_convolution.Eric Anholt2010-09-232-8/+0
| | | | More optional code.
* 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
|