summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* gallium: interface changes for multisamplingRoland Scheidegger2010-04-268-26/+82
| | | | | | | | | | | | | | | | | | | | | | add function to set sample mask, and state for alpha-to-coverage and alpha-to-one. Also make it possible to query for supported sample count with is_msaa_supported(). Use explicit resource_resolve() to resolve a resource. Note that it is illegal to bind a unresolved resource as a sampler view, must be resolved first (as per d3d10 and OGL APIs, binding unresolved resource would mean that special texture fetch functions need to be used which give explicit control over what samples to fetch, which isn't supported yet). Also change surface_fill() and surface_copy() to operate directly on resources. Blits should operate directly on resources, most often state trackers just used get_tex_surface() then did a blit. Note this also means the blit bind flags are gone, if a driver implements this functionality it is expected to handle it for all resources having depth_stencil/render_target/sampler_view bind flags (might even require it for all bind flags?). Might want to introduce quality levels for MSAA later. Might need to revisit this for hw which does instant resolve.
* gallivm: BGNFOR/ENDFOR fallthrough to BGNLOOP/ENDLOOPAlan Hourihane2010-04-261-10/+2
|
* draw: Always use the llvm middle end when available & enabled.José Fonseca2010-04-262-17/+23
|
* svga: Pass-through max_index to translate.José Fonseca2010-04-261-1/+1
|
* draw: Pass-through pipe_buffer::max_index to translate.José Fonseca2010-04-267-19/+34
| | | | | | | | | | max_index must be observed to prevent crashes due to bad index data. I've been using this patch for some time without regressions. Some places, where we use internal vertex buffer, it is not entirely clear what max_index should be, so passing just ~0 to avoid regressions for now.
* translate: Take and respect a max_index argument.José Fonseca2010-04-263-8/+24
|
* r300g: Rudimentary stats, printed on exit.Corbin Simpson2010-04-264-0/+22
| | | | Whoo!
* r300g: Add stats debug flag.Corbin Simpson2010-04-262-0/+2
|
* r600: enable VERT_RESULT_PSIZ - makes point size & attenuation workAndre Maasikas2010-04-262-2/+29
| | | | | | | | doc additions: shader export ARRAY_BASE for EXPORT_POS: 60 is position, 61 is misc vec(VS_OUT_MISC_VEC - used here), 62, 63 are clip distance vectors(VS_OUT_CCDIST#) sorry for formating - there seem to be so many different styles in r600
* r600: adjust point sprites after 911fa4a4a1Andre Maasikas2010-04-261-10/+11
| | | | | there's no more vp results for point coords so we cannot iterate over vp outputs. Use only Point.CoordReplace[i]
* scons: Include headers from the local include directory first.Vinson Lee2010-04-261-1/+3
| | | | | | | | Certain headers, such as GL/glew.h, are in both the Mesa include and the default installed include directories. On recent distros the needed symbols can be found in both places. On older distros the installed headers could be lacking symbols, so for a header that exists in both places, the local one should be found first.
* os: Check for spurious wakeups in pipe_barrier_wait.Vinson Lee2010-04-261-1/+8
| | | | | | | | | | | | | | The POSIX function pthread_cond_wait can have spurious wakeups when waiting on a condition variable. Add a 64-bit counter that is incremented whenever the barrier becomes full. A woken thread checks the counter. If the counter has not changed then it has been spuriously woken and goes back to sleep. If the counter has changed then it was properly signaled and exits the barrier. Tested on Mac OS X. This patch was based on ideas from Luca Barbieri.
* r300g: Use table CS writing when applicable.Corbin Simpson2010-04-261-35/+13
| | | | I just broke the 2000 fps barrier on glxgears. Yay?
* r300g: Add CS table writing.Corbin Simpson2010-04-263-0/+19
|
* et/egl: Remove dead code.Vinson Lee2010-04-261-3/+0
| | | | | proc_name cannot be NULL after the switch statement. proc_name is assigned a value or the function has already returned.
* nvfx: Add include path to SCons build.Vinson Lee2010-04-251-0/+4
|
* r300g: support index bias on r500 and DRM 2.3.0Marek Olšák2010-04-261-13/+40
|
* r300g: support rendering more than 65535 vertices in one batch on r500Marek Olšák2010-04-261-21/+4
| | | | and disable batch splitting on these chipsets.
* r300g: emit MSPOS regsMarek Olšák2010-04-266-15/+21
|
* r300g: force prefetch for non-indexed verticesMarek Olšák2010-04-264-8/+8
|
* r300g: use the dummy FS shader for shaders with zero instructionsMarek Olšák2010-04-261-0/+8
|
* r300g: allow unaligned vertex formats if the stride is dword-alignedMarek Olšák2010-04-262-7/+43
|
* r300g: abort on unsupported vertex formatsMarek Olšák2010-04-261-0/+4
|
* r300g: abort if a vertex buffer offset is not dword-alignedMarek Olšák2010-04-261-0/+9
|
* st/wgl: s/st_manager_create_api/st_gl_api_create/Vinson Lee2010-04-251-2/+2
| | | | | | | commit 0c572c6828b6a338b07a6860280b3a314a81662e replaced st_manager_create_api with st_gl_api_create. Fixes MSVC build.
* nvfx: Add missing header.Vinson Lee2010-04-251-0/+1
|
* st/dri: Refactor dri_st_api into other filesJakob Bornecrantz2010-04-2617-303/+173
|
* st/dri: Make st_framebuffer_iface the base for dri_drawableJakob Bornecrantz2010-04-268-41/+26
|
* st/dri: Make st_manager the base for dri_screenJakob Bornecrantz2010-04-268-85/+35
|
* st/dri: Add hooks for framebuffer functionsJakob Bornecrantz2010-04-2610-123/+94
|
* st/dri: Make lookup_egl_image a hookJakob Bornecrantz2010-04-264-10/+13
|
* st_api: Remove st_moduleJakob Bornecrantz2010-04-269-100/+86
| | | | | | The struct st_module isn't needed as it is the same thing as the st_api struct. That is they both represent the API. Instead just use a single function entry point to the the API.
* llvmpipe: Respect pipe_sampler_view::swizzle_r/g/b/aJosé Fonseca2010-04-263-1/+63
| | | | This allows u_sampler_view_default_dx9_template to do its magic on DX9.
* draw: Respect pipe_vertex_buffer::max_index in llvm generated code.José Fonseca2010-04-252-4/+13
| | | | | | Everybody should respect max_index, specially llvm generated code, which likes to eat vertices 4 at a time, so it may end up chew a bit a bit more than actually exists.
* llvmpipe: No need to flush the caches for buffers.José Fonseca2010-04-252-12/+14
|
* softpipe: Make softpipe transfers in-order.José Fonseca2010-04-255-4/+109
| | | | | | | | | | | Transfer, being now a context operation, should happen in order with all other contexts operations. If there is rendering pending on the resource then the driver must flush and potentially wait itself internally. Instead of avoiding using transfers internally (as done in llvmpipe) I've opted to simply pass PIPE_TRANSFER_UNSYNCHRONIZED in all internal transfers, to avoid infinite recursion.
* llvmpipe: Cleanup/improve llvmpipe_flush_resource usage.José Fonseca2010-04-254-36/+48
| | | | Recognize PIPE_TRANSFER_UNSYNCHRONIZED and PIPE_TRANSFER_DONTBLOCK.
* llvmpipe: Remove unused variable.Vinson Lee2010-04-251-2/+0
|
* llvmpipe: llvmpipe_flush_texture -> llvmpipe_flush_resourceJosé Fonseca2010-04-254-15/+12
|
* llvmpipe: Fix buffer overflow unswizzling several formats.José Fonseca2010-04-251-1/+1
| | | | | Array formats without for channels were being advanced as four channels, causing buffer overflows.
* softpipe: Hardcode TILE_CLEAR_OPTIMIZATION to 1.José Fonseca2010-04-253-20/+1
| | | | | The un-optimized path relies on surface_fill which can only handle formats with depth <= 32, so it is pointless to keep it around.
* llvmpipe: Replace tile_read/write with more descriptive swizzle/unswizzle verbs.José Fonseca2010-04-254-24/+36
|
* llvmpipe: Cleanup llvmpipe_is_format_supported().José Fonseca2010-04-251-20/+19
| | | | It should be just cosmetic.
* softpipe: More accurate softpipe_is_format_supported().José Fonseca2010-04-251-19/+55
| | | | | Unfortunately there are some heavy limitations on supported render target formats due to the way clear values are used internally.
* llvmpipe: Remove sp2lp.sh.José Fonseca2010-04-251-34/+0
| | | | Irrelevant now that llvmpipe and softpipe grew so far apart.
* llvmpipe: lp_tex_sample_llvm.c -> lp_tex_sample.cJosé Fonseca2010-04-253-2/+2
| | | | 'llvm' suffix unnecessary now that the C sampling version disappeared.
* st/dri: Add missing header.Vinson Lee2010-04-251-0/+2
| | | | Add GL/internal/dri_interface.h for __DRI_TEXTURE_FORMAT_RGB.
* gallivm: Rename variable info to opcode_info.Vinson Lee2010-04-251-3/+3
| | | | Avoid hiding existing variable already named info in outer scope.
* radeon: Remove NULL check of bo_legacy->tobj.Vinson Lee2010-04-241-2/+1
| | | | | | bo_legacy->tobj cannot be NULL before the call to driUpdateTextureLRU. There is a NULL check earlier in the routine, and if bo_legacy->tobj is NULL, memory is allocated.
* gallivm: Remove NULL check of pointer that can't be NULL.Vinson Lee2010-04-241-1/+1
| | | | | | info cannot be NULL at the call to debug_printf. emit_instruction dereferences info, so at debug_printf it is either not NULL or the program has already crashed.