summaryrefslogtreecommitdiff
path: root/src/gallium/auxiliary
AgeCommit message (Collapse)Author
2010-04-07util: Remove the half typedef from p_compiler.h.José Fonseca
Unnecessary, and doesn't even guarantee size.
2010-04-07util: Use stubs for the dynamically loaded S3TC functions.José Fonseca
Loosely based on Luca Barbieri's commit 52e9b990a192a9329006d5f7dd2ac222effea5a5.
2010-04-07draw: Fix MSVC build (snprintf->util_snprintf).José Fonseca
2010-04-07util: Remove u_tile.c YCbCr's.José Fonseca
Superseded by u_format_yuv.c. Also PIPE_FORMAT_YUYV's interpretation was inconsistent: it was being interpreted as VYUY.
2010-04-07util: Implement YUV and subsampled RGB format conversion.José Fonseca
2010-04-07draw: init draw->pt.middle.general = NULL just to be safeBrian Paul
This field should be null from the initial calloc() of the draw context, but let's be safe (and improve understanding of the code).
2010-04-07llvmpipe: Fix USE_DRAW_LLVM build. Use lp_build_engine.José Fonseca
2010-04-07draw llvm: Remove unnecessary headers.Vinson Lee
2010-04-07gallium: Add files to Makefile.Vinson Lee
This was missed in commit ae69f9fbf0a1aab7186e5b644085a5fe5aea99af. New files from the gallium_draw_llvm merge were added to SCons but not make.
2010-04-06draw llvm: disable printing of the LLVM irZack Rusin
2010-04-06gallium/draw: add additional DRAW_LLVM checkBrian Paul
Fixes build breakage.
2010-04-06Merge branch 'gallium_draw_llvm'Zack Rusin
2010-04-06gallivm: Fallback to calling util_format_description::fetch_float for any ↵José Fonseca
format we can't code LLVM IR directly.
2010-04-06gallivm: Move the global LLVM objects (module, engine, provider, target) ↵José Fonseca
into here.
2010-04-06draw llvm: disable debugging outputZack Rusin
2010-04-06draw llvm: implement simple pipeline caching using variantsZack Rusin
2010-04-06draw llvm: fix iteration for larger vertex arraysZack Rusin
we were trying to store the outputs starting at the same offset we were using for the input arrays, which was writing beyond the end of the output array.
2010-04-06draw llvm: iterate with the correct stop over the outputsZack Rusin
it's whatever the var step is (4 usually) not an unconditional 1
2010-04-06util: Respect destination stride in pipe_get_tile_swizzle().Michal Krol
2010-04-06draw llvm: fix draw arraysZack Rusin
we don't index within the outputs but only within the inputs
2010-04-06util: Make half float lookup tables constant.José Fonseca
2010-04-06util: Remove the hand written SRGB format support code.José Fonseca
2010-04-06util: Support all SRGB formats.José Fonseca
Based on code from Brian Paul and Michal Krol.
2010-04-06draw llvm: fix loop iteration and vertex header offsetsZack Rusin
the loop was doing a NE comparison which we could have skipped if the prim was triangles (3 verts) and our step was 4 verts. also fix offsets in conversion to aos.
2010-04-05draw llvm: when generating the vertex_header struct adjust its nameZack Rusin
change the name to not clash and accuretly represent the number of inputs we store in the data member
2010-04-05util: added util_dl_error()Brian Paul
2010-04-04Merge branch '7.8'Ian Romanick
2010-04-03util: Use GCC atomic bultins on GCC 4.1 and higher only.Vinson Lee
2010-04-03util: Revert unsolicited, untested, unreviewed, and broken changes to format ↵José Fonseca
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.
2010-04-02draw llvm: fix storing of outputs for the rest of the pipelineZack Rusin
there's no good way of aligning the output's, and since the vertex_header is variable sized in the first place we need to extract elements from a vector and store them individually into an array. this gets the basic examples working again
2010-04-02draw llvm: fix translation of formats with variable componentsZack Rusin
2010-04-02gallivm: Add fallthrough comment at end of case statement.Vinson Lee
The code is correct. Tell Coverity that the fallthrough case is intentional.
2010-04-02gallium/util: print \n after DXTn printfLuca Barbieri
2010-04-01gallium/util: remove extraneous semicolonBrian Paul
2010-04-02gallium/util: revert util_format_init additionLuca Barbieri
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.
2010-04-02gallium/util: add util_format_is_supported to check for pack/unpackLuca Barbieri
This improves the code by making it more readable, and removes special knowledge of S3TC and other formats from softpipe.
2010-04-02gallium/util: load s3tc on demandLuca Barbieri
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.
2010-04-02gallium/util: pregenerate half float tablesLuca Barbieri
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.
2010-04-01gallium/util: s/inline/INLINE/Vinson Lee
Fixes MSVC build.
2010-04-02gallium/util: add util_format_init that inits s3tc and util_halfLuca Barbieri
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
2010-04-02gallium/util: add one-time initialization helperLuca Barbieri
2010-04-01draw llvm: a lot better storing implementationZack Rusin
2010-04-02gallium/util: use #pragma section instead of #pragma data_segLuca Barbieri
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.
2010-04-02gallium/util: reindent u_half.c and u_half.h with Mesa coding styleLuca Barbieri
Sorry, forgout about that.
2010-04-02Revert "util: Init half-float tables on demand."Luca Barbieri
This reverts commit 950300eb255f0e3507bf2757d16c3b5bc8ff3471.
2010-04-01util: Init half-float tables on demand.Corbin Simpson
Gets rid of unnecessary delays on startup and compiler-specific hax.
2010-04-01llvmpipe: Support sampling from PIPE_FORMAT_R32_FLOAT.José Fonseca
2010-04-01util: Declare .CRT$XCU data segment.Michal Krol
2010-04-01scons: Remove `util/u_gctors.cpp'.Michal Krol
2010-04-01gallium/util: rewrite global constructor system for half floats (GCC/MSVC only!)Luca Barbieri
NOTE: this commit will cause Gallium to fail to build on any compiler except GCC, the Microsoft C compiler and compatible compilers that claim to be one of those. This commit removes the u_gctors.cpp mechanism, in favor of using compiler-specific syntax to add global constructors from C files. This solves the problem of u_gctors.o not being pulled from static libraries and avoids using C++. However, it needs compiler-specific support for every compiler. The Microsoft C compiler support has not been tested.