summaryrefslogtreecommitdiff
path: root/src/gallium/auxiliary
AgeCommit message (Collapse)Author
2010-08-11Revert "translate_generic: return NULL instead of assert(0) if format not ↵Luca Barbieri
supported" This reverts commit 16b45ca7cefb3432b4133fe9d0b1dbfe3f286131. José Fonseca asked for a revert. Note that the testsuite will now segfault since it attempts to test all possible formats.
2010-08-11translate_generic: fix broken A8R8G8B8_UNORM outputLuca Barbieri
translate was attempting to output A8R8G8B8_UNORM as if it were R8G8B8A8_UNORM. Now the tests just added pass.
2010-08-11translate_generic: return NULL instead of assert(0) if format not supportedLuca Barbieri
This gives the caller a chance to recover (or crash anyway otherwise).
2010-08-11auxiliary: fix util_framebuffer_copyLuca Barbieri
util_framebuffer_copy was attempting to copy all elements of the source framebuffer state. However, this breaks if the user does not zero initialize the structure. Instead, only copy the elements up to nr_cbufs, and clear elements up to dst->nr_cbufs, if the destination was larger than the source.
2010-08-11gallivm: Use lp_build_div instead of lp_build_mul + lp_build_rcp.José Fonseca
Single divide, so let lp_build_div decide how to implement this. This will save a multiplication in architectures which don't have a RCP intrinsic.
2010-08-11gallivm: Use unsigned shift in lp_build_minify.José Fonseca
Texture dimensions are unsigned.
2010-08-11util: copy the u_staging commit message to the codeMarek Olšák
2010-08-11auxiliary: support for transfers using staging resourcesLuca Barbieri
Direct3D 10/11 has no concept of transfers. Applications instead create resources with a STAGING or DYNAMIC usage, copy between them and the real resource and use Map to map the STAGING/DYNAMIC resource. This util module allows to implement Gallium drivers as a Direct3D driver would be implemented: transfers allocate a resource with PIPE_USAGE_STAGING, and copy the data between it and the real resource with resource_copy_region.
2010-08-11u_surfaces: add util_surfaces_peekLuca Barbieri
Used to find out if a surface exists without creating one.
2010-08-11u_surfaces: use cso_hash instead of util_hash_tableLuca Barbieri
Using cso_hash directly is the right thing since util_hash_table adds useless overhead and is harder to use for this application.
2010-08-11u_surfaces: fix surface leak due to off by oneLuca Barbieri
2010-08-11auxiliary: make primitive splitter assert on unimplemented adjacency primsLuca Barbieri
They are unimplemented, even though the framework makes it possible to implement them well, and nv50 needs them.
2010-08-11auxiliary: fix u_split_prim naming conventionLuca Barbieri
Current practice is to start identifiers with "util_" instead of "u_".
2010-08-11auxiliary: move Ben Skeggs' primitive splitter to common codeLuca Barbieri
This is a simple framework that handles splitting primitives in an abstract way. The user has to specify the primitive start, start index and count. Then, it can ask the primitive splitter to "draw" a chunk of the primitive, staying under a given vertex/index budget. The primitive splitter will then call user-supplied functions to emit a range of vertices/indices, as well as switch the edgeflag on or off. This is particularly useful for hardware that either has limits on the vertex count field, or where vertices are pushed on a FIFO or temporary buffer of limited size. Note that unlike other splitters, it does not manipulate data in any way, and merely asks a callback to do so, in vertex intervals.
2010-08-10util: Add util_format_srgb().José Fonseca
To convert RGB -> SRGB format.
2010-08-10gallivm: fix non-SSE4.1 case in lp_build_pack2()Brian Paul
Since there's no SSE instruction for this case, fall through to the generic shuffle code. Fixes bug fd.o 29468.
2010-08-10gallivm: Fix bitwise operations for floats, division for integersnobled
http://bugs.freedesktop.org/29407 Signed-off-by: José Fonseca <jfonseca@vmware.com>
2010-08-10gallivm: Even more type checkingnobled
http://bugs.freedesktop.org/29407 Signed-off-by: José Fonseca <jfonseca@vmware.com>
2010-08-09gallivm: More type checks.José Fonseca
2010-08-09gallivm: Don't call LLVMBuildFNeg on llvm-2.6.José Fonseca
It didn't exist yet.
2010-08-09gallivm: Always use floating-point operators for floating-point typesnobled
This fixes the assert added in LLVM 2.8: assert(getType()->isIntOrIntVectorTy() && "Tried to create an integer operation on a non-integer type!") But it also fixes some subtle bugs, since we should've been doing this since LLVM 2.6 anyway. Includes a modified patch from steckdenis@yahoo.fr for the FNeg instructions in emit_fetch(); thanks for pointing those out. http://bugs.freedesktop.org/29404 http://bugs.freedesktop.org/29407 Signed-off-by: José Fonseca <jfonseca@vmware.com>
2010-08-09util: Move _mm_shuffle_epi8() to u_sse.h.José Fonseca
It's bound to be useful elsewhere.
2010-08-08gallivm: Fix more integer operations.José Fonseca
2010-08-08gallivm: Use the correct context for integersnobled
See: http://bugs.freedesktop.org/29407
2010-08-08gallivm: Add type checks for the basic operations.José Fonseca
2010-08-08draw: Remove unused variable.José Fonseca
2010-08-08draw: Use the correct type for integersnobled
Two integers were being operated on as a vector of floats in draw_llvm_generate(). This bug got uncovered by fixing this bug: http://bugs.freedesktop.org/29407
2010-08-06gallium: remove stray semicolonsBrian Paul
2010-08-07draw: Add an assertion to varray's version of trim().Chia-I Wu
Assert that "first" is always smaller than "count" and add reasoning. It would be better to simply fix trim(), but it is used in tight loops right now.
2010-08-07draw: Fix draw_pt_split_prim for primitives with adjacency.Chia-I Wu
Some primitives with adjacency have their "incr" wrong.
2010-08-07draw: Assert that only the first vetex may have flags set.Chia-I Wu
642d5ba79abc6a231a5fdabb3454b9b082b0d7f8 removed flags masking for vertices other than the first one. Add assertions to be on the safe side.
2010-08-06draw: Avoid mixed declarations and code.Chia-I Wu
Do not expand LOCAL_VARS to void expression. Otherwise, declarations and code will be mixed when more variables are declared in FUNC_ENTER. This fixes fdo bug #29416.
2010-08-06draw: Remove unnecessary vertex flag ANDs.Chia-I Wu
Vertex flags are a contract between vcache and the pipeline. They are set only for the first vertex of a primitive.
2010-08-06draw: Mask out vertex flags in GS and stream output.Chia-I Wu
This fixes out-of-bound access to the vertices.
2010-08-06draw: Include draw_decompose_tmp.h in draw_pt_decompose.h.Chia-I Wu
Use draw_decompose_tmp.h to replace pipeline primitive decomposer.
2010-08-06draw: Include draw_decompose_tmp.h in draw_so_emit_tmp.h.Chia-I Wu
Use draw_decompose_tmp.h to replace stream out primitive decomposer.
2010-08-06draw: Include draw_decompose_tmp.h in draw_gs_tmp.h.Chia-I Wu
Use draw_decompose_tmp.h to replace GS primitive decomposer.
2010-08-06draw: Include draw_decompose_tmp.h in draw_pt_vcache_tmp.h.Chia-I Wu
Use draw_decompose_tmp.h to replace vcache primitive decomposer. As the new decomposer supports primitives with adjacency, vcache_triangle_adj and vcache_line_adj (and their variants that have flags) are added.
2010-08-06draw: Add draw_decompose_tmp.h.Chia-I Wu
Including draw_decompose_tmp.h defines a primitive decomposer. It is intended to replace the existing vcache/so/gs/pipe decomposers. This is based on draw_pt_vcache_tmp.h.
2010-08-05tgsi: Fix typo, so we follow what is in the commentsJakob Bornecrantz
2010-08-05tgsi: Add option to stop the sanity checker from printingJakob Bornecrantz
2010-08-05util: Add option to not dump cpu capsJakob Bornecrantz
2010-08-05gallivm: Only get debug option onceJakob Bornecrantz
2010-08-05r300g: implement hyper-z support. (v4)Dave Airlie
This implements fast Z clear, Z compression, and HiZ support for r300->r500 GPUs. It also allows cbzb clears when fast Z clears are being used for the ZB. It requires a kernel with hyper-z support. Thanks to Marek Olšák <maraeo@gmail.com>, who started this off, and Alex Deucher at AMD for providing lots of hints. v2: squashed zmask ram size fix] squashed r300g/blitter: fix Z readback when compressed] v3: rebase around texture changes in master - .1 fix more bits v4: migrated to using u_mm in r300_texture to manage hiz/zmask rams consistently disabled HiZ when using OQ flush z-cache before turning hyper-z off update hyper-z state on dsa state change store depthclearvalue across cbzb clears and replace it afterwards. Signed-off-by: Dave Airlie <airlied@redhat.com>
2010-08-04draw: Fix return type of draw_translate_vinfo_size.Vinson Lee
Fixes typo from commit b609cfc7c9c38f26e7e6d6f7dd5dd6d38f4ed209.
2010-08-04draw: Fix the edge flags of flatshade_first polygons.Chia-I Wu
This bug can be triggered by rendering polygons with glProvokingVertexEXT(GL_FIRST_VERTEX_CONVENTION_EXT); glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
2010-08-03draw: check for instance divisors in vcache_check_run()Brian Paul
When we have instance divisors we don't really know which vertex elements we'll be fetching ahead of time. This fixes a bug in instanced drawing which was exposed by the new draw_vbo() code because of max_index not being ~0 as often as it used to be. The test for max_index >= DRAW_PIPE_MAX_VERTICES often hid this problem before.
2010-08-03gallium/translate: make generic_run() and generic_run_elts() more alikeBrian Paul
Plus more debug code and do clamping in generic_run().
2010-08-03draw: added a commentBrian Paul
2010-08-03draw: use instance divisor in draw_print_arrays()Brian Paul