aboutsummaryrefslogtreecommitdiffstats
path: root/src/mesa/drivers/dri
Commit message (Collapse)AuthorAgeFilesLines
* intel: Add function intel_renderbuffer_set_hiz_region()Chad Versace2011-06-082-0/+17
| | | | | | | | | | | It's the analog of intel_renderbuffer_set_region(), but for the hiz region of course. CC: Ian Romanick <[email protected]> CC: Kristian Høgsberg <[email protected]> Acked-by: Eric Anholt <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Signed-off-by: Chad Versace <[email protected]>
* intel/intel_context.c: Remove unused functionsChad Versace2011-06-081-48/+0
| | | | | | | | | | | Remove functions intel_override_hiz() and intel_override_separate_stencil(). They are now located in intel_screen.c. CC: Ian Romanick <[email protected]> CC: Kristian Høgsberg <[email protected]> Acked-by: Eric Anholt <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Signed-off-by: Chad Versace <[email protected]>
* intel: Add flags to intel_screen for hiz and separate stencilChad Versace2011-06-083-7/+73
| | | | | | | | | | | | | | | | | | | | | Add the fields below to intel_screen. The expression in parens is the value to which intelInitScreen2() currently sets the field. GLboolean hw_has_separate_stencil (true iff gen >= 7) GLboolean hw_must_use_separate_stencil (true iff gen >= 7) GLboolean hw_has_hiz (always false) enum intel_dri2_has_hiz dri2_has_hiz (INTEL_DRI2_HAS_HIZ_UNKNOWN) The analogous fields in intel_context now inherit their values from intel_screen. When hiz and separate stencil become completely implemented for a given chipset, then the respective fields need to be enabled. CC: Ian Romanick <[email protected]> CC: Kristian Høgsberg <[email protected]> Acked-by: Eric Anholt <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Signed-off-by: Chad Versace <[email protected]>
* intel: Define enum intel_dri2_has_hizChad Versace2011-06-081-0/+56
| | | | | | | | | | | | | ... which indicates if the X driver supports DRI2BufferHiz and DRI2BufferStencil. I'm placing this in its own commit due to the large comment block. CC: Ian Romanick <[email protected]> CC: Kristian Høgsberg <[email protected]> Acked-by: Eric Anholt <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Signed-off-by: Chad Versace <[email protected]>
* intel: Define span functions for S8 renderbuffersChad Versace2011-06-081-0/+64
| | | | | | | | | Since the stencil buffer is interleaved, the generic Mesa renderbuffer accessors do not suffice. Custom span functions are necessary. Acked-by: Kenneth Graunke <[email protected]> Reviewed-by: Eric Anholt <[email protected]> Signed-off-by: Chad Versace <[email protected]>
* i965/brw: Emit state for hiz and separate stencil buffersChad Versace2011-06-082-9/+107
| | | | | | | | | | When emitting 3DSTATE_DEPTH_BUFFER, also emit 3DSTATE_HIER_DEPTH_BUFFER if there is a hiz buffer. Ditto for 3DSTATE_STENCIL_BUFFER and a separate stencil buffer. Reviewed-by: Eric Anholt <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Signed-off-by: Chad Versace <[email protected]>
* mga: enable GL_ARB_vertex_array_object extensionNicolas Kaiser2011-06-071-0/+2
| | | | | | | Tested on a Matrox G550 AGP. Signed-off-by: Nicolas Kaiser <[email protected]> Signed-off-by: Brian Paul <[email protected]>
* intel: Update intel-decode.c from intel-gpu-tools.Eric Anholt2011-06-072-88/+785
|
* intel: Implement glFinish() correctly by waiting on all previous rendering.Eric Anholt2011-06-073-16/+13
| | | | | Before, we were waiting for (most of) the current framebuffer to be done, which is not quite the same thing.
* radeon: Use pciid list to generate PCI_CHIP_<FAMILY>_<ID> definesBenjamin Franzke2011-06-071-491/+9
| | | | Reviewed-by: Alex Deucher <[email protected]>
* i965: Fix flipped GT1 vs GT2 URB VS entry count limits.Eric Anholt2011-06-071-2/+2
|
* i965: Update SURFACE_STATE dumping for Ivybridge.Kenneth Graunke2011-06-061-3/+43
| | | | Signed-off-by: Kenneth Graunke <[email protected]>
* i965: Update SAMPLER_STATE dumping for Ivybridge.Kenneth Graunke2011-06-061-1/+53
| | | | Signed-off-by: Kenneth Graunke <[email protected]>
* i965: Update SF_CLIP_VIEWPORT state dumping for Ivybridge.Kenneth Graunke2011-06-061-2/+38
| | | | Signed-off-by: Kenneth Graunke <[email protected]>
* dri/nouveau: fix gnome-shell segfaultBen Skeggs2011-06-061-1/+1
| | | | Signed-off-by: Ben Skeggs <[email protected]>
* i965: Drop remaining strict conformance fallback for GL_POINT_SMOOTH.Eric Anholt2011-06-031-30/+0
| | | | | We actually could do this in hardware in the fragment shader using gl_PointCoord and the point's size.
* i965: Drop strict conformance fallback for GL_LINE_STIPPLE.Eric Anholt2011-06-031-18/+0
| | | | | | We implement line stipples, just not *quite* correctly. We have a piglit testcase to use when we want to fix it, if we do. Until then, don't lie to our test suites.
* i965: Drop strict conformance fallback for GL_LINE_SMOOTH.Eric Anholt2011-06-031-9/+0
| | | | | | | | | | We do have hardware antialised lines. If we care, we should actually fix them to be conformant (or as close as possible) instead of using this knob to fool testcases using swrast. For some interesting reading on the state of GL_*_SMOOTH across several drivers, see: http://homepage.mac.com/arekkusu/bugs/invariance/HWAA.html
* i965: Drop strict conformance fallback for GL_POLYGON_SMOOTH.Eric Anholt2011-06-031-6/+0
| | | | | | From my reading of the GL 2.1 spec, no antialiasing is strictly conformant for polygon smoothing. Yes, it's absurd, but then, hardware doesn't support this so maybe it's not so absurd.
* i965: Drop INTEL_CONFORMANCE=2 fallback code.Eric Anholt2011-06-031-3/+0
| | | | | This was just a duplicate of no_rast=true driconf option, which is relatively standard across drivers.
* dri: add missing files from 873379a8818eed9ab16c24728b7091a3a3705c5bBrian Paul2011-06-022-0/+112
|
* dri/nouveau: Fix build with --enable-shared-dricore.Johannes Obermayr2011-06-0217-140/+56
| | | | | | | | | - Based on the work of Себастьян Gliţa Κατινα <[email protected]> - Split Makefile.template into Makefile.defines and Makefile.targets - Adapt other drivers to new situation - Fixes https://bugs.freedesktop.org/show_bug.cgi?id=35441 Signed-off-by: Brian Paul <[email protected]>
* r300: remove MIN3 macro, already defined in macros.hBrian Paul2011-06-021-1/+0
|
* i965: Raise const.MaxTextureLevels to 14 (8192)Chris Wilson2011-06-021-3/+3
| | | | | | | Mesa now limits, by default, the max number of texture levels to 15 so we can now support the architectural maximum for gen4-6 of 14. Signed-off-by: Chris Wilson <[email protected]>
* r600c: add support for llanoAlex Deucher2011-05-316-1/+98
| | | | Signed-off-by: Alex Deucher <[email protected]>
* i965/fs: Use the embedded compare in SEL on gen6+.Eric Anholt2011-05-312-16/+30
| | | | | | | | | | | This avoids the extra CMP and the predication on SEL, so in addition to one less instruction, it makes scheduling less constrained. Improves glbenchmark Egypt performance 0.6% +/- 0.2% (n=3). Reduces FS instruction count across affected shaders in shader-db by 1.3% without regressing any. Reviewed-by: Kenneth Graunke <[email protected]>
* 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: 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.
* i965/fs: Fix up for 8752764076e5b3f052a57e0134424a37bf2e9164.Eric Anholt2011-05-272-4/+4
| | | | I failed to commit and squash before pushing.
* 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]>
* 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]>