summaryrefslogtreecommitdiffstats
path: root/src/gallium
Commit message (Collapse)AuthorAgeFilesLines
* util: Remove the hand written SRGB format support code.José Fonseca2010-04-061-197/+0
|
* util: Support all SRGB formats.José Fonseca2010-04-067-23/+386
| | | | Based on code from Brian Paul and Michal Krol.
* st/dri: Implement DRI image extension.Chia-I Wu2010-04-064-0/+143
|
* st/es: Remove unnedded --whole-archive.Chia-I Wu2010-04-061-6/+4
| | | | | | All public functions in the archives are either directly referenced or indirectly referenced by _glapi_get_proc_address. There is no need for --whole-archive.
* scons: Link expat in dri builds.Vinson Lee2010-04-051-0/+4
| | | | | Fixes this i915g error. i915_dri.so: undefined symbol: XML_ParserCreate
* r300g: enforce microtiled zbuffer from X serverMarek Olšák2010-04-051-0/+31
| | | | This should be relatively safe, I think.
* r300g: typecast using the r300_texture functionMarek Olšák2010-04-057-23/+28
|
* i965g: change value of VERT_RESULT_PSIZ hack to avoid warningsBrian Paul2010-04-051-1/+1
|
* util: added util_dl_error()Brian Paul2010-04-052-0/+20
|
* r300g: enable OpenGL 2.1 on r3xx-r4xx chipsetsMarek Olšák2010-04-051-5/+1
|
* r300g: add fallback for back stencil reference value and masks for r3xx-r4xxMarek Olšák2010-04-055-37/+275
| | | | | | | | | | | This splits rendering into two passes when front and back stencil reference value, value mask, or write mask don't match. The advantages of doing it in the driver instead of in st are: * SWTCL is executed just once and the resulting vertex buffer is reused in the second pass. * Lower driver overhead due to the fallback being very close to the actual draw emission with minimum state change.
* r300g: simplify accessing screen from contextMarek Olšák2010-04-0513-94/+79
|
* r300g: remove some XXXsMarek Olšák2010-04-052-2/+0
| | | | We can't have more than 8 texcoord outputs in VS.
* r300g: raise the number of texture units to 16 for all supported chipsetsMarek Olšák2010-04-056-11/+13
| | | | | | | | As per Radeon 9700 Opengl Programming and Optimization Guide [1], there are 16 texture units even on the first r300 chipsets. If you think I am wrong, feel free to propose a patch. [1] Here's PDF: http://people.freedesktop.org/~mareko/
* r300/compiler: make the max number of fragment shader temporaries adjustableMarek Olšák2010-04-051-0/+1
|
* r300g: is_npot -> uses_pitchMarek Olšák2010-04-054-7/+9
|
* r300g: enable conditional rendering also for SWTCLMarek Olšák2010-04-051-0/+8
|
* Merge branch '7.8'Ian Romanick2010-04-042-3/+4
|\
| * util: Use GCC atomic bultins on GCC 4.1 and higher only.Vinson Lee2010-04-031-1/+1
| |
| * st/vega: Do not depend on libm.Chia-I Wu2010-04-021-2/+3
| | | | | | | | | | This fixes the "no rule to make target -lm" error on darwin, reported by Jeremy Huddleston.
* | st/egl: Implement get_egl_image hook.Chia-I Wu2010-04-041-0/+32
| | | | | | | | | | This hook may be used by rendering state trackers to implement EGLImage extensions.
* | r300g: fix TFP stride override.Dave Airlie2010-04-041-1/+1
| | | | | | | | | | | | We should use pitch for the overriden state, fixes one half of the tfp test. Signed-off-by: Dave Airlie <[email protected]>
* | r300g: add conditional renderingMarek Olšák2010-04-043-0/+33
| |
* | r300g: add r4xx fragment shader registersMarek Olšák2010-04-041-1/+47
| | | | | | | | In case anyone needs it, it's here.
* | r300g: do not use the c++ template keywordMarek Olšák2010-04-042-27/+27
| | | | | | | | It makes life for some code browsing utilites easier.
* | r300g: properly setup textures from X serverMarek Olšák2010-04-041-4/+3
| | | | | | | | The setup needs be done after querying tiling flags.
* | r300g: fix color tiling for buffer from X server.Dave Airlie2010-04-035-1/+38
| | | | | | | | | | | | | | The tiling setup needs a bit of work, but this should be good enough for now, when we get buffers from the kernel we need to store their tiling properties. Signed-off-by: Dave Airlie <[email protected]>
* | util: Revert unsolicited, untested, unreviewed, and broken changes to format ↵José Fonseca2010-04-038-205/+130
| | | | | | | | | | | | | | support. Not all is bad, but I'm afraid I'll have to throw the baby with the water given they are all tied to together.
* | gallium/docs: Dithering might not actually do anything.Corbin Simpson2010-04-021-1/+1
| |
* | r300g: Expound on dithering comment.Corbin Simpson2010-04-021-4/+9
| |
* | r300g: make dithering work like fglrx.Dave Airlie2010-04-031-2/+4
| | | | | | | | | | | | From fglrx traces the dithering is never enabled. Signed-off-by: Dave Airlie <[email protected]>
* | gallium: fix dri_destroy_option_cache() when optionCache.info is NULLYann Droneaud2010-04-021-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With an Intel 855GM handled by intel_drv, there's a crash with Gallium3D enabled DRI driver for Intel i915 (--enable-gallium-intel). The Gallium3D driver doesn't support the 855GM as expected by intel_drv, it failed to open the screen and give an half initialized screen structure to dri_destroy_option_cache(): optionCache.info is NULL, so it's crashing while trying to free array content. This patch at least fix the crash in the function. Here's some logs of the fixed version: [ 16274.137] LoaderOpen(/opt/mesa/lib/xorg/modules/drivers/intel_drv.so) [ 16274.139] (II) Loading /opt/mesa/lib/xorg/modules/drivers/intel_drv.so [ 16274.183] (II) Module intel: vendor="X.Org Foundation" [ 16274.183] compiled for 1.8.0, module version = 2.11.0 [ 16274.183] Module class: X.Org Video Driver [ 16274.183] ABI class: X.Org Video Driver, version 7.0 [ 16274.183] (II) intel: Driver for Intel Integrated Graphics Chipsets: i810, i810-dc100, i810e, i815, i830M, 845G, 852GM/855GM, 865G, 915G, E7221 (i915), 915GM, 945G, 945GM, 945GME, Pineview GM, Pineview G, 965G, G35, 965Q, 946GZ, 965GM, 965GME/GLE, G33, Q35, Q33, GM45, 4 Series, G45/G43, Q45/Q43, G41, B43, Clarkdale, Arrandale [ 16274.382] (II) intel(0): Integrated Graphics Chipset: Intel(R) 855GME [ 16274.382] (--) intel(0): Chipset: "852GM/855GM" [ 16276.675] (II) intel(0): [DRI2] Setup complete [ 16276.675] (II) intel(0): [DRI2] DRI driver: i915 debug_get_option: GALLIUM_TRACE = (null) debug_get_bool_option: GALLIUM_RBUG = FALSE debug_get_bool_option: INTEL_DUMP_CMD = FALSE i915_create_screen: unknown pci id 0x3582, cannot create screen dri_init_screen_helper: failed to create pipe_screen [ 16276.794] (EE) AIGLX error: Calling driver entry point failed [ 16276.794] (EE) AIGLX: reverting to software rendering [ 16276.794] (II) AIGLX: Screen 0 is not DRI capable [ 16276.796] (II) AIGLX: Loaded and initialized /opt/mesa/lib/dri/swrast_dri.so [ 16276.796] (II) GLX: Initialized DRISWRAST GL provider for screen 0 Signed-off-by: Yann Droneaud <[email protected]> Reviewed-by: Corbin Simpson <[email protected]>
* | llvmpipe: limit max texture size to 2Kx2K for nowBrian Paul2010-04-023-1/+8
| | | | | | | | | | | | | | | | MAXWIDTH/HEIGHT were 2048 but the max texture size was 4096. This caused a crash if a 4Kx4K texture was created and rendered to. See comment about max framebuffer size in lp_scene.h. Also added assertions to catch this inconsistancy in the future.
* | gallivm: Add fallthrough comment at end of case statement.Vinson Lee2010-04-021-0/+1
| | | | | | | | | | The code is correct. Tell Coverity that the fallthrough case is intentional.
* | gallium/util: print \n after DXTn printfLuca Barbieri2010-04-021-3/+3
| |
* | softpipe: remove S3TC init, since it's done on-demand nowLuca Barbieri2010-04-021-2/+0
| |
* | gallium/util: remove extraneous semicolonBrian Paul2010-04-011-1/+1
| |
* | gallium: remove old comment about return valuesBrian Paul2010-04-011-1/+1
| |
* | gallium/util: revert util_format_init additionLuca Barbieri2010-04-024-13/+1
| | | | | | | | | | | | | | | | | | | | Putting calls to util_format_init all over the codebase is infeasible. Instead, half float tables are pregenerated, and the s3tc library is loaded on demand. I believe this is a solution that combines performance, cleanliness, flexibility and portability.
* | gallium/util: add util_format_is_supported to check for pack/unpackLuca Barbieri2010-04-024-25/+39
| | | | | | | | | | This improves the code by making it more readable, and removes special knowledge of S3TC and other formats from softpipe.
* | gallium/util: load s3tc on demandLuca Barbieri2010-04-022-107/+151
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This changes the S3TC function pointers to be initialized to stubs that load the S3TC library and then delegate to the real functions. If the S3TC library fails to load, the function pointers are replaced with a "nop" function. The code is also changed to attempt to load the library only one time.c Note that unlike checking for a flag, this method has no performance cost at all. The use of the "nop" functions also allows to avoid most checks, that are only preserved when the function does non-trivial work.
* | gallium/util: pregenerate half float tablesLuca Barbieri2010-04-026-170/+191
| | | | | | | | | | | | | | | | This solution avoids the issue of how to run the initializers and also allows those pages (and the parts of them in processor caches) to be shared between multiple processes. The drawback is slightly higher library size.
* | st/egl: Add a missing break.Chia-I Wu2010-04-021-0/+1
| | | | | | | | The swtich in egl_g3d_st_framebuffer_validate misses a break.
* | gallium/util: s/inline/INLINE/Vinson Lee2010-04-011-1/+1
| | | | | | | | Fixes MSVC build.
* | nv50: call util_format_initLuca Barbieri2010-04-021-0/+3
| | | | | | | | Needed to fetch static vertex attributes.
* | gallium/util: add util_format_init that inits s3tc and util_halfLuca Barbieri2010-04-025-6/+23
| | | | | | | | | | | | | | | | Switch from auto-init to explicit init for util_half per Brian Paul's indication. NOTE: this is probably broken because not enough things call util_format_init. Will be fixed shortly
* | gallium/util: add one-time initialization helperLuca Barbieri2010-04-021-0/+15
| |
* | gallium/util: use #pragma section instead of #pragma data_segLuca Barbieri2010-04-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | They apparently both declare the section, but #pragma data_seg also puts all subsequent definitions in the section, which is undesirable. This should be the correct solution, and is actually used by the reference I cited (but I forgot to do it in my code). Untested, let me know if it doesn't work.
* | gallium/util: reindent u_half.c and u_half.h with Mesa coding styleLuca Barbieri2010-04-022-107/+112
| | | | | | | | Sorry, forgout about that.
* | Revert "util: Init half-float tables on demand."Luca Barbieri2010-04-023-14/+57
| | | | | | | | This reverts commit 950300eb255f0e3507bf2757d16c3b5bc8ff3471.