aboutsummaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
| * i965: Remove brw_surface_state struct that is now unused.Eric Anholt2011-05-311-74/+0
| | | | | | | | Reviewed-by: Ian Romanick <[email protected]>
| * i965: Switch brw_state_dump to using bitshifting for surface state.Eric Anholt2011-05-312-9/+17
| | | | | | | | Reviewed-by: Ian Romanick <[email protected]>
| * i965: Replace struct with bit shifting for WM null surfaces.Eric Anholt2011-05-311-13/+13
| | | | | | | | | | | | | | | | | | Reduces compiled size of brw_wm_surface_state.o another 1.9%. Overall, this brw_wm_surface_state reduction series cuts firefox-talos-gfx runtime by 0.68% +/- 0.42% (n=6). Reviewed-by: Ian Romanick <[email protected]>
| * i965: Replace struct with bit shifting for WM pull constant surfaces.Eric Anholt2011-05-312-35/+17
| | | | | | | | | | | | This reduces compiled size (4.7% of brw_wm_surface_state.o). Reviewed-by: Ian Romanick <[email protected]>
| * i965: Replace struct with bit shifting for WM render target surfaces.Eric Anholt2011-05-312-31/+45
| | | | | | | | | | | | This massively reduces compiled size (6.7% of brw_wm_surface_state.o). Reviewed-by: Ian Romanick <[email protected]>
| * i965: Replace structs with bitfield shifting for WM texture surfaces.Eric Anholt2011-05-311-32/+35
| | | | | | | | | | | | This massively reduces compiled size (4.9% of brw_wm_surface_state.o). Reviewed-by: Ian Romanick <[email protected]>
| * i965: Add defines for surface state setup using bitfield shifting.Eric Anholt2011-05-311-1/+33
| | | | | | | | | | | | | | It turns out that gcc is just awful at generating code for brw_structs.h style state setup, and using bitshifting on u32s generates better code while being similarly readable (and more verifiable compared to the specs, using the INTEL_MASK macro).
| * i965: Don't compute brw->wm.input_size_masks when it's unused.Eric Anholt2011-05-311-1/+11
| | | | | | | | | | | | | | | | It's only used in the old fragment program path, to avoid projection when w is always 1. We do want to do this in the new path pre-gen6 too, but we'll probably do it through the ir. Reviewed-by: Kenneth Graunke <[email protected]>
| * i965: Drop a gratuitous "if" that the compiler didn't eliminate at -O2.Eric Anholt2011-05-311-10/+8
| | | | | | | | | | | | | | | | Oddly, this increases compiled code size. (marking the 'if' as likely also increases code size, but not as much). Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
| * i965: Move prepare_wm_surfaces texobj declarations inside of _ReallyEnabled.Eric Anholt2011-05-311-2/+3
| | | | | | | | | | | | | | | | Interestingly, the compiler wasn't doing this for us at -O2, so we were doing the computation for every non-_ReallyEnabled unit. Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
| * intel: Remove unused NO_TILE macroIan Romanick2011-05-311-3/+0
| | | | | | | | Reviewed-by: Eric Anholt <[email protected]>
| * r300g: set squared microtiling for the dummy zbufferMarek Olšák2011-05-311-1/+1
| | | | | | | | The pitch of 4 is allowed for squared microtiling only.
| * r600g: cs init fixesAlex Deucher2011-05-313-5/+12
| | | | | | | | | | | | | | | | | | - all asics need to emit CONTEXT_CONTROL - all r6xx asics need to emit 3D_START_CMDBUF The ddx and r600c already do this. r600g should as well. Signed-off-by: Alex Deucher <[email protected]>
| * r300g: log when getting unsupported texture formatMarek Olšák2011-05-311-4/+14
| |
| * gallium: include limits.h in p_config.hDave Airlie2011-05-311-1/+1
| | | | | | | | | | | | | | | | | | | | | | We are getting inconsistent methods for endian detection (same answer when it works, just doesn't work on some platforms) depending on whether __GLIBC__ is defined, which of course depends on include ordering before p_config.h Just make p_config.h include limits.h to solve this. Signed-off-by: Dave Airlie <[email protected]> Reviewed-by: Brian Paul <[email protected]>
| * r600g: add context control to start of CSDave Airlie2011-05-311-0/+13
| | | | | | | | | | | | | | | | | | On my original R600 card this at least lets gnome shell run for a while longer and the piglit r300-readcache test case works a lot more reliably. Still a few more stability issues running a piglit test run though. Signed-off-by: Dave Airlie <[email protected]>
| * r600g: don't emit color blend register on original R600.Dave Airlie2011-05-312-8/+15
| | | | | | | | | | | | The original R600 doesn't have these so don't emit them. Signed-off-by: Dave Airlie <[email protected]>
| * mesa: forbid UseProgram to be called inside Begin/EndMarek Olšák2011-05-301-0/+2
| | | | | | | | | | | | | | | | | | The spec doesn't state it should be an error, but. We have this piglit test useprogram-inside-begin that passes with this commit. No idea what's correct. NOTE: This is a candidate for the 7.10 branch. Reviewed-by: Brian Paul <[email protected]>
| * st/mesa: don't use resource_copy_region for CopyPixels with conditional renderMarek Olšák2011-05-301-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | The conditional rendering should be able to kill CopyPixels. I assume the render condition has no effect on resource_copy_region. This fixes piglit: - NV_conditional_render/copypixels NOTE: This is a candidate for the 7.10 branch. Reviewed-by: Brian Paul <[email protected]>
| * st/mesa: conditional rendering should not kill texture decompression via blitMarek Olšák2011-05-301-0/+11
| | | | | | | | | | | | NOTE: This is a candidate for the 7.10 branch. Reviewed-by: Brian Paul <[email protected]>
| * st/mesa: CopyTex(Sub)Image should not be killed by conditional renderingMarek Olšák2011-05-301-0/+12
| | | | | | | | | | | | NOTE: This is a candidate for the 7.10 branch. Reviewed-by: Brian Paul <[email protected]>
| * 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]>
| * tgsi/ureg: bump the limit of immediatesMarek Olšák2011-05-301-1/+1
| | | | | | | | | | | | | | | | | | | | Lowered indirect addressing can create lots of immediates. Fixes piglit/glsl-fs-uniform-array-7 on r300g. NOTE: This is a candidate for the 7.10 branch. Reviewed-by: Brian Paul <[email protected]>
| * trace: implement texture_barrierMarek Olšák2011-05-291-0/+16
| |
| * trace: implement render_conditionMarek Olšák2011-05-291-0/+20
| |
| * r300g: clear can be killed by render conditionMarek Olšák2011-05-293-7/+35
| | | | | | | | | | Fixes piglit: - NV_conditional_render/clear
| * 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.
| * r300g: fix occlusion queries when depth test is disabled or zbuffer is missingMarek Olšák2011-05-292-6/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | From now on, depth test is always enabled in hardware. If depth test is disabled in Gallium, the hardware Z function is set to ALWAYS. If there is no zbuffer set, the colorbuffer0 memory is set as a zbuffer to silence the CS checker. This fixes piglit: - occlusion-query-discard - NV_conditional_render/bitmap - NV_conditional_render/drawpixels - NV_conditional_render/vertex_array
| * r300g: cleanup render_condition a bitMarek Olšák2011-05-291-5/+3
| |
| * r300g: remove fake occlusion queries (debug option)Marek Olšák2011-05-293-58/+7
| |
| * r300g: remove debug option DBG_FALLMarek Olšák2011-05-292-2/+1
| |
| * r300g: print some HyperZ debug infoMarek Olšák2011-05-292-0/+4
| |
| * glx: Fix glXGetFBConfigFromVisualSGIX.Stéphane Marchesin2011-05-271-1/+1
| | | | | | | | | | | | | | | | | | | | We want to check for Success, otherwise it will fail even with the right visual. NOTE: This is a candidate for the 7.10 branch. Signed-off-by: Antoine Labour <[email protected]> Signed-off-by: Stéphane Marchesin <[email protected]> Signed-off-by: Brian Paul <[email protected]>
| * 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