summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* i965: Move the GRF-to-MRF optimizations to brw_optimize.c.Eric Anholt2010-07-263-619/+618
|
* i965: Improve (i.e. remove) some grf-to-mrf unnecessary movesBenjamin Segovia2010-07-261-2/+626
| | | | | | | | | | | | | | | | | | | | | | | | | Several routines directly analyze the grf-to-mrf moves from the Gen binary code. When it is possible, the mov is removed and the message register is directly written in the arithmetic instruction Also redundant mrf-to-grf moves are removed (frequently for example, when sampling many textures with the same uv) Code was tested with piglit, warsow and nexuiz on an Ironlake machine. No regression was found there Note that the optimizations are *deactivated* on Gen4 and Gen6 since I did test them properly yet. No reason there are bugs but who knows The optimizations are currently done in branch free programs *only*. Considering branches is more complicated and there are actually two paths: one for branch free programs and one for programs with branches Also some other optimizations should be done during the emission itself but considering that some code is shader between vertex shaders (AOS) and pixel shaders (SOA) and that we may have branches or not, it is pretty hard to both factorize the code and have one good set of strategies
* glx: Drop debug fprintf that snug in with the previous commitKristian Høgsberg2010-07-261-2/+0
|
* glx: Enable copy subbuffer patch when GLX_DIRECT_RENDERING is #definedKristian Høgsberg2010-07-261-1/+3
| | | | | | | Depending on __DRI_COPY_SUB_BUFFER doesn't work when we no longer include dri_interface.h. https://bugs.freedesktop.org/show_bug.cgi?id=29264
* st/egl: Fix debug linenobled2010-07-261-1/+1
| | | | Acked-by: Jakob Bornecrantz <[email protected]>
* util: fix CPU detection on OS Xnobled2010-07-261-6/+6
| | | | | | s/PIPE_OS_DARWIN/PIPE_OS_APPLE, since there is no PIPE_OS_DARWIN. Acked-by: Vinson Lee <[email protected]>
* st/xorg: fix use-after-freenobled2010-07-261-1/+1
| | | | Acked-by: Jakob Bornecrantz <[email protected]>
* i965g: Enable llvm in dri driver if builtJakob Bornecrantz2010-07-261-3/+8
|
* i915g: Fix llvm buildnobled2010-07-261-1/+1
| | | | Acked-by: Jakob Bornecrantz <[email protected]>
* glx: Drop duplicate psc field in dri context structKristian Høgsberg2010-07-261-3/+2
| | | | Same problem as fixed for drisw in 4d58b5b482d06ab8d4c4b2db33d0b48b7c82d064.
* i965: Allow VS MOVs to use immediate constants.Eric Anholt2010-07-261-0/+1
| | | | | Clarifies program assembly, and with a little tweak to always use constant_map, we could cut down on constant buffer payload.
* r600g: implememt the LIT instructionStephan Schmid2010-07-261-1/+119
|
* util: fix another mutex leak in mempoolMarek Olšák2010-07-261-2/+1
| | | | By fixing one, I introduced another. Crap.
* util: fix mutex leaks in mempoolMarek Olšák2010-07-261-1/+2
|
* r300g: fix macro substitution problemDave Airlie2010-07-261-2/+2
| | | | | | isn't a problem yet, but have issues in hiz branch. Signed-off-by: Dave Airlie <[email protected]>
* r300g: implement D24X8 texture sampling for r3xx-r4xxMarek Olšák2010-07-255-22/+34
| | | | | | | | | Because the hw can't sample it, I reinterpret the format as G16R16 and sample the G component. This gives 16 bits of precision, which should be enough for depth texturing (surprisingly, the sampled values are exactly the same as in D16 textures). This also enables EXT_packed_depth_stencil on those old chipsets, finally.
* r300g: make sure a texture is large enough for the CBZB clearMarek Olšák2010-07-251-52/+49
| | | | | | | The number of macrotiles in the Y direction must be even, otherwise memory corruption may happen (e.g. broken fonts). Basically, if we get a buffer in resource_from_handle, we can determine from the buffer size whether it's safe to use the CBZB clear or not.
* r300g: do not use TXPITCH_EN if the width is POT and the height is NPOTMarek Olšák2010-07-256-11/+15
|
* r300g: do not use TXPITCH_EN for power-of-two textures from the DDXMarek Olšák2010-07-251-6/+14
| | | | We were using TXPITCH_EN for textures from the DDX since ever, for nothing.
* r300g: cleanup texture creation codeMarek Olšák2010-07-2513-543/+733
| | | | | | | | | | | | This decouples initializing a texture layout/miptree description from an actual texture creation, it also partially unifies texture_create and texture_from_handle. r300_texture inherits r300_texture_desc, which inherits u_resource. The CBZB clear criteria are moved to r300_texture_desc::cbzb_allowed[level]. And other minor cleanups.
* r300g: reject resources from handles which are not large enoughMarek Olšák2010-07-255-11/+34
| | | | | | | | The driver gets a buffer and its size in resource_from_handle. It computes the required minimum buffer size from given texture properties, and compares the two sizes. This is to early detect DDX bugs.
* r300g: cleanup texture debug loggingMarek Olšák2010-07-253-18/+25
|
* r300g: do not align texture height to 2^n for 1D and 2D non-mipmapped texturesMarek Olšák2010-07-251-1/+5
| | | | | I don't remember why the alignment was there, but it seems to be no longer needed. I guess it was a dirty fix for some other bug.
* nvfx: Move declaration before code.Vinson Lee2010-07-241-2/+3
|
* glx: Drop duplicate psc field in drisw context structKristian Høgsberg2010-07-241-3/+3
| | | | Causing a crash in drisw MakeCurrent.
* glx: Fix another case of confusing driContext and dri2_context *Eric Anholt2010-07-231-1/+1
|
* glx: Correctly look up the dri2 context pointer for SetTexBuffer.Eric Anholt2010-07-231-1/+1
| | | | | | | gc->driContext points at the second member of the dri2 context. The dri2 context is just a subclass of the GLX context. Fixes piglit tfp testcase.
* glx: Don't destroy context with XID 0Kristian Høgsberg2010-07-234-4/+9
| | | | | We use XID 0 to indicate the context has already been destroyed, but it's currently bound.
* glx: Fix use after free case when destroying screensKristian Høgsberg2010-07-231-1/+0
|
* glx: zero out drawable structs after allocationKristian Høgsberg2010-07-233-0/+3
|
* glx: Refactor and simplify context creationKristian Høgsberg2010-07-236-205/+185
| | | | | This lets us better separate context creation between the different backends.
* glx: Fix indirect screen initializationKristian Høgsberg2010-07-231-2/+7
| | | | https://bugs.freedesktop.org/show_bug.cgi?id=29225
* glx: Move context destroy to context vtableKristian Høgsberg2010-07-237-105/+83
|
* util: Add PIPE_OS_CYGWIN to u_network.Vinson Lee2010-07-231-1/+1
|
* r600g: first pass at texture supportJerome Glisse2010-07-236-14/+152
| | | | | | | This add texture support to the assembler, generated code is wrong (tested against working dump). Signed-off-by: Jerome Glisse <[email protected]>
* r600g: Fix SCons build.Vinson Lee2010-07-231-5/+2
|
* mesa: Fix Cygwin build with llvm enabled.Vinson Lee2010-07-231-1/+1
| | | | | On Cygwin locale_t in not available but 'llvm-config --cppflags' adds the compiler flag -D_GNU_SOURCE to the build.
* gallium: Fix build with llvm installed in non-standard locationChristopher James Halse Rogers2010-07-233-1/+12
| | | | | | | | | | The es1, es2 and gl state trackers include draw_pipe.h, which includes the llvm headers if MESA_LLVM is true, so we also need to add the llvm seachpaths. Similarly, gallivm and other gallium drivers need LLVM_CFLAGS to build when enabled. Also fix xorg drivers, they didn't include LDFLAGS.
* r600g: fix dp2, dp3, dp4 tokensJerome Glisse2010-07-231-23/+64
| | | | | | We need to make sure dp are all mirror accross the alu unit. Signed-off-by: Jerome Glisse <[email protected]>
* r600g: add RSQ token supportJerome Glisse2010-07-231-2/+28
| | | | | | | Could serve as an example on how to add more token support. Signed-off-by: Jerome Glisse <[email protected]>
* r600g: drop compiler stuff and switch over dumb tgsi assemblerJerome Glisse2010-07-2316-3323/+1277
| | | | | | | | | | Writing a compiler is time consuming and error prone in order to allow r600g to further progress in the meantime i wrote a simple tgsi assembler, it does stupid thing but i would rather keep the code simple than having people trying to optimize code it does. Signed-off-by: Jerome Glisse <[email protected]>
* glx: Don't try to swap a front buffer if we don't have one.Eric Anholt2010-07-231-1/+2
| | | | Fixes glean glsl1 since 7b7845a076c933e096ac511b4184141ba194449a
* st/mesa: get rid of unneeded ureg_writemask()Brian Paul2010-07-231-3/+2
|
* st/mesa: fix bug in emit_adjusted_wpos()Brian Paul2010-07-231-2/+5
| | | | | | | | | If we bias x,y we still need to pass through z,w in case the shader reads gl_FragCoord.z or .w. Fixes fd.o bug 29183 (piglit glsl-bug-22603). NOTE: This is a candidate for the 7.8 branch.
* i965: Cleanly fail programs with unsupported array access.Eric Anholt2010-07-231-1/+28
| | | | | This should be more useful for developers and for bug triaging than just generating wrong code.
* i965: Add support for VS relative addressing of temporary arrays.Eric Anholt2010-07-231-2/+49
| | | | Fixes glsl-vs-arrays. Bug #27388.
* draw: add small ybias factor for drawing wide pointsBrian Paul2010-07-231-0/+1
| | | | Fixes minor rasterization error detected by some tests.
* softpipe: Check for NULL pointer in sp_destroy_tile_cache().Michal Krol2010-07-231-8/+10
|
* softpipe: Check for NULL pointer in sp_destroy_tex_tile_cache().Michal Krol2010-07-231-11/+13
|
* nv50: implement depth clampChristoph Bumiller2010-07-234-10/+33
|