summaryrefslogtreecommitdiffstats
path: root/src/mesa
Commit message (Collapse)AuthorAgeFilesLines
* st/mesa: BlitFramebuffer should not be killed by conditional renderingMarek Olšák2011-05-301-1/+13
| | | | | | NOTE: This is a candidate for the 7.10 branch. Reviewed-by: Brian Paul <[email protected]>
* swrast: BlitFramebuffer should not be killed by conditional renderingMarek Olšák2011-05-301-3/+0
| | | | | | NOTE: This is a candidate for the 7.10 branch. Reviewed-by: Brian Paul <[email protected]>
* st/mesa: GenerateMipmap should not be killed by conditional renderingMarek Olšák2011-05-303-2/+22
| | | | | | NOTE: This is a candidate for the 7.10 branch. Reviewed-by: Brian Paul <[email protected]>
* st/mesa: fix typos and add some format fallbacks in format_mapMarek Olšák2011-05-301-11/+11
| | | | | | | | | | | | Always default to DEFAULT_*_FORMATS for mandatory GL formats. (st_choose_format must not fail for those) Use DEFAULT_RGBA when alpha is required instead of RGB. Use DEFAULT_RGB otherwise. These are more or less the remaining differences between the old code and the new one. Reviewed-by: Brian Paul <[email protected]>
* st/mesa: consolidate listing of depth formatsMarek Olšák2011-05-301-11/+12
| | | | Reviewed-by: Brian Paul <[email protected]>
* st/mesa: add GL_DEPTH_COMPONENT32 fallback formatsMarek Olšák2011-05-301-1/+4
| | | | | | This makes D32 work again on chipsets which can't do it. Reviewed-by: Brian Paul <[email protected]>
* st/mesa: fix changing internal format via RenderbufferStorageMarek Olšák2011-05-301-5/+2
| | | | | | | | | | | | | | | | The problem is: The second time the function is called with a new internal format, strb->format is usually not PIPE_FORMAT_NONE. RenderbufferStorage(... GL_RGBA8 ...); RenderbufferStorage(... GL_RGBA16 ...); // had no effect on the format Broken with: fd6f2d6e5783d8810d0ab88e1c470958fd5eb2eb Test: piglit/fbo-storage-completeness NOTE: This is a candidate for the 7.10 branch. (if fd6f2d6e5783d8810d0ab88e1c470958fd5eb2eb is cherry-picked as well) Reviewed-by: Brian Paul <[email protected]>
* r300g: Fix non-dri buildsTom Stellard2011-05-282-1/+7
| | | | | This is just a temporary solution for now until there is a better way to share code between mesa and gallium.
* mesa: set parameter list StateFlags field in _mesa_layout_parameters()Pierre-Eric Pelloux-Prayer2011-05-271-0/+1
| | | | | | | | | | | | When using _mesa_layout_parameters, all params copied in the 'layout' output in the PASS 1 don't modify StateFlags (because they are simply memcpy'ed). This patch fixes the problem, assuring output gl_prog_param_list StateFlags field is the same as the input one. NOTE: This is a candidate for the 7.10 branch. Signed-off-by: Brian Paul <[email protected]>
* i965/fs: Fix up for 8752764076e5b3f052a57e0134424a37bf2e9164.Eric Anholt2011-05-272-4/+4
| | | | I failed to commit and squash before pushing.
* mesa: Include shader target in dumps of GLSL source.Eric Anholt2011-05-271-1/+2
| | | | | | This makes automatic parsing of MESA_GLSL=dump output easier. Reviewed-by: Kenneth Graunke <[email protected]>
* i965/fs: Do a FS compile up front at link time to produce link errors.Eric Anholt2011-05-275-27/+142
| | | | | | At glLinkShaders time, a fail() call in FS compile in 8-wide (the one that's required to succeed, though we may relax that at some point for pre-Ironlake performance) will now report out as a link error.
* i965/fs: Split the GLSL IR -> FS LIR visitor to brw_fs_visitor.cpp.Eric Anholt2011-05-274-1679/+1736
| | | | | | | | | We now have: brw_fs.cpp handles calling out to everything and optimization. brw_fs_visitor.cpp handles translating to our LIR. brw_fs_emit.cpp handles emitting from our LIR to native code. Reviewed-by: Kenneth Graunke <[email protected]>
* i965/fs: Split the BRW native code emit to brw_fs_emit.cppEric Anholt2011-05-273-839/+876
| | | | | | | This is all separate from the visitor and the optimization passes which feed into it. Reviewed-by: Kenneth Graunke <[email protected]>
* i965: Move a couple of GLSL IR -> BRW helper functions to brw_shader.cpp.Eric Anholt2011-05-273-49/+76
| | | | | | These will be used by the VS backend as well. Reviewed-by: Kenneth Graunke <[email protected]>
* i965: Move non-FS-specific shader support to brw_shader.cpp.Eric Anholt2011-05-273-100/+129
| | | | | | | These only existed in brw_fs.cpp because it was the only .cpp file in the area when I wrote them. Reviewed-by: Kenneth Graunke <[email protected]>
* i965: Avoid generating MOVs for assignments of expressions.Eric Anholt2011-05-272-12/+75
| | | | | | No statistically significant difference measured in 3dbenchmark egypt/pro. It does reduce fragment shader instructions across shader-db by 0.3%.
* i965/fs: Move the computation of register block count from unit to compile.Eric Anholt2011-05-274-7/+18
| | | | | | | No net code size change, but unit update is down 0.8% code size pre-gen6. Reviewed-by: Kenneth Graunke <[email protected]>
* i965/fs: Track fixed GRF regs separate from allocated GRF file in scheduling.Eric Anholt2011-05-272-1/+22
| | | | | | | | | | | | | | There's an assumption here that fixed GRFs will never intersect with the allocated GRFs. That's true today, though it might change some day if we decide to register-allocate the regs containing push constants once they're dead. This fixes a regression in 0f7325b89038937bd428f7c89ed9859189a0ab0b in Lightsmark from the texture instructions now containing g0 references instead of having that be implied. Performance is improved 15.2% +/- 3.6% (n=3). Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=34968
* i965/fs: Add a helper function for add_dep(before, after, before->latency).Eric Anholt2011-05-271-31/+19
| | | | | | This lets us avoid a bunch of before==NULL checks in the callers. Reviewed-by: Kenneth Graunke <[email protected]>
* mesa: s/height/depth/ in texsubimage()Brian Paul2011-05-261-1/+1
| | | | Fixes http://bugs.freedesktop.org/show_bug.cgi?id=37648
* mesa: plug _mesa_GetObjectParameterivAPPLE into display list dispatch tableBrian Paul2011-05-261-0/+1
|
* mesa: plug in GL_ARB_vertex_array_object display list functionsBrian Paul2011-05-261-0/+4
|
* mesa: more geometry shader display list functionsBrian Paul2011-05-261-0/+53
|
* mesa: more transform feedback display list functionsBrian Paul2011-05-261-12/+98
|
* mesa: make query object API functions staticBrian Paul2011-05-262-24/+6
| | | | Only directly referenced by the _mesa_init_queryobj_dispatch() function.
* mesa: simplify query object display list dispatch setupBrian Paul2011-05-261-6/+2
|
* i965: Pack the lookup and line_aa bits into the first dword of the key.Eric Anholt2011-05-261-2/+2
| | | | | | | They were occupying whole 32-bit words, despite being only 10 or so bits. Reduces code size slightly (80/3300 bytes). Reviewed-by: Kenneth Graunke <[email protected]>
* i965: Remove dead shadowtex_mask entry in the WM key.Eric Anholt2011-05-262-4/+0
| | | | Reviewed-by: Kenneth Graunke <[email protected]>
* i965: Remove linear_color for GL_PERSPECTIVE_CORRECTION_HINT.Eric Anholt2011-05-267-30/+10
| | | | | | | | | | From the GL 2.1 spec: "Required perspective-correct interpolation for all fragment attributes except depth in sections 3.4.1 and 3.5.1, effectively making GL PERSPECTIVE CORRECT HINT a no-op." Reviewed-by: Kenneth Graunke <[email protected]>
* intel: Drop doubly irrelevant code in intelReadBuffers.Eric Anholt2011-05-261-12/+0
| | | | | | | | First, FBO read/draw == NULL validation happens in mesa core not intelReadBuffers -> intel_draw_buffers. Second, that condition is no longer tested for in our driver since ARB_ES2_compatibility was added. Reviewed-by: Brian Paul <[email protected]>
* mesa: Flush vertices before updating drawbuffer computed state.Eric Anholt2011-05-261-7/+7
| | | | | | | Otherwise, the driver is likely to draw the flushed vertices to the new drawbuffer instead of the old one, missing the point of the flush. Reviewed-by: Brian Paul <[email protected]>
* mesa: Allow NULL read/draw in complete FBOs in ARB_ES2_compatibility.Eric Anholt2011-05-261-1/+1
| | | | | | | | | | | | | | From the ARB_ES2_compatibility spec: "(8) How should we handle draw buffer completeness? RESOLVED: Remove draw/readbuffer completeness checks, and treat drawbuffers referring to missing attachments as if they were NONE." Fixes arb_es2_compatibility-drawbuffers when the short-circuit for ARB_ES2_compatibility in the previous commit is dropped. Reviewed-by: Brian Paul <[email protected]>
* mesa: Trigger FBO validation on DrawBuffers change in non-ES2 mode.Eric Anholt2011-05-261-10/+26
| | | | | | | | | glDrawBuffers pointing at an unattached buffer is supposed to be incomplete without ARB_ES2_compatibility. The testcase to catch the bug of not implementing that bit of the spec was tricked by this missing piece of state update. Reviewed-by: Brian Paul <[email protected]>
* mesa: minor whitespace fixesBrian Paul2011-05-251-4/+4
|
* mesa: plug in sync object display list functionsBrian Paul2011-05-251-0/+50
| | | | | Most just dispatch through to the immediate mode functions, except for glWaitSync(), per the extension spec.
* mesa: display list support for glProgramParameteriARB()Brian Paul2011-05-251-0/+30
|
* mesa: plug shader object functions into display list dispatchBrian Paul2011-05-251-0/+2
|
* mesa: plug in GL 3.0 ClearBuffer() display list functionsBrian Paul2011-05-251-5/+1
|
* mesa: fill in missing sampler object display list functionsBrian Paul2011-05-251-0/+163
|
* st/mesa: simplify some st_context(ctx)->pipe codeBrian Paul2011-05-256-10/+9
|
* st/mesa: fix incorrect texture level/face/slice accessesBrian Paul2011-05-252-12/+21
| | | | | | | | | | If we use FBOs to access mipmap levels with glRead/Draw/CopyPixels() we need to be sure to access the correct mipmap level/face/slice. Before, we were just passing zero in quite a few places. This fixes the new piglit fbo-mipmap-copypix test. NOTE: This is a candidate for the 7.10 branch.
* i965: Warnings cleanup.Eric Anholt2011-05-252-4/+0
| | | | Reviewed-by: Kenneth Graunke <[email protected]>
* i965: Fix assertion failures in unused brw_reg setup by deleting it.Eric Anholt2011-05-251-1/+0
| | | | | | | I was using undefined values to create an unused value. Go me. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=37366 Reviewed-by: Kenneth Graunke <[email protected]>
* intel: Change FBO validation criteria to accomodate hiz and seprate stencilChad Versace2011-05-251-15/+27
| | | | | Reviewed-by: Eric Anholt <[email protected]> Signed-off-by: Chad Versace <[email protected]>
* intel: Fix intel_draw_buffer() to accomodate hiz and separate stencilChad Versace2011-05-251-5/+11
| | | | | | | | The logic of intel_draw_buffers() expected that stencil buffers were always combined depth/stencil. Reviewed-by: Eric Anholt <[email protected]> Signed-off-by: Chad Versace <[email protected]>
* intel: Add hiz_region to intel_mipmap_treeChad Versace2011-05-253-0/+36
| | | | | | | | | | When a texture is attached to multiple FBO's, a separate renderbuffer wrapper is created for each attachment. This necessitates storing the hiz region for these renderbuffers in the texture itself instead of the renderbuffer wrapper. Reviewed-by: Eric Anholt <[email protected]> Signed-off-by: Chad Versace <[email protected]>
* intel: Refactor the wrapping of textures with renderbuffersChad Versace2011-05-251-7/+8
| | | | | | | | | | | | | Before this commit, the renderbuffer's region was updated in intel_renderbuffer_texture(). This commit moves the update into intel_update_wrapper(), which is a more logical location for updates. This is in preparation for the next commit, which allocates and updates the texture's hiz region in intel_update_wrapper(). Having the two region updates located in the same function makes good form. Reviewed-by: Eric Anholt <[email protected]> Signed-off-by: Chad Versace <[email protected]>
* intel: Add hiz_region to intel_renderbufferChad Versace2011-05-252-0/+46
| | | | | | | | | | | | | | | | | | | | | | A hiz surface must be supplied to the hardware when rendering to a depth buffer with hiz. There are three potential places to store that surface: 1. Allocate a larger intel_region for the depthbuffer, and let the region's tail be the hiz surface. 2. Allocate a separate intel_region for hiz, and store it as brw_context state. 3. Allocate a separate intel_region for hiz, and store it in intel_renderbuffer. We choose method 3. Method 1 has not been chosen due to future complications it might cause when requesting a DRI drawable's depth buffer attachment from X. Method 2 has not been chosen because storing the hiz region apart from the depth region makes lazy hiz/depth resolves difficult to implement. Reviewed-by: Eric Anholt <[email protected]> Signed-off-by: Chad Versace <[email protected]>
* intel: Add is_hiz_depth_format() to intel_contex.vtblChad Versace2011-05-253-0/+24
| | | | | | | | | Given a format, is_hiz_depth_format() indicates if HiZ can be enabled on a depthbuffer of that format. Reviewed-by: Eric Anholt <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Signed-off-by: Chad Versace <[email protected]>