summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* llvmpipe: Generalize the x8z24 fast path to all depth formats.José Fonseca2010-10-131-111/+82
| | | | | | | | | | | | | Together with the previous commit, this generalize the benefits of d2cf757f44f4ee5554243f3279483a25886d9927 to all depth formats, in particular: - simpler float -> 24unorm conversion - avoid unsigned comparisons (not directly supported on SSE) by aligning to the least significant bit - avoid unecessary/repeated mask ANDing Verified with trivial/tri-z that the exact same assembly is produced for X8Z24.
* gallivm: More accurate float -> 24bit & 32bit unorm conversion.José Fonseca2010-10-131-40/+86
|
* gallivm: work-around trilinear mipmap filtering regression with LLVM 2.8Brian Paul2010-10-131-0/+20
| | | | The bug only happens on the AOS / fixed-pt path.
* gallivm: Remove unnecessary header.Vinson Lee2010-10-131-1/+0
|
* x11: fix breakage from gl_config::visualType removalBrian Paul2010-10-133-5/+6
|
* llvmpipe: Unbreak Z32_FLOAT.José Fonseca2010-10-133-64/+93
| | | | | | | | | | | | | Z32_FLOAT uses <4 x float> as intermediate/destination type, instead of <4 x i32>. The necessary bitcasts got removed with commit 5b7eb868fde98388d80601d8dea39e679828f42f Also use depth/stencil type and build contexts consistently, and make the depth pointer argument a ordinary <i8 *>, to catch this sort of issues in the future (and also to pave way for Z16 and Z32_FLOAT_S8_X24 support).
* Drop GLcontext typedef and use struct gl_context insteadKristian Høgsberg2010-10-13789-5701/+5698
|
* Drop GLframebuffer typedef and just use struct gl_framebufferKristian Høgsberg2010-10-1354-128/+127
|
* Rename GLvisual and __GLcontextModes to struct gl_configKristian Høgsberg2010-10-1399-190/+177
|
* gl: Remove unused GLcontextModes fieldsKristian Høgsberg2010-10-1310-55/+14
|
* Get rid of GL/internal/glcore.hKristian Høgsberg2010-10-1310-12/+133
| | | | | | | __GLcontextModes is always only used as an implementation internal struct at this point and we shouldn't install glcore.h anymore. Anything that needs __GLcontextModes should just include the struct in its headers files directly.
* gallivm: only use lp_build_conv 4x4f -> 1x16 ub fastpath with sse2Roland Scheidegger2010-10-131-19/+5
| | | | | | | | This is relying on lp_build_pack2 using the sse2 pack intrinsics which handle clamping. (Alternatively could have make it use lp_build_packs2 but it might not even produce more efficient code than not using the fastpath in the first place.)
* r600g: fix stencil export for evergreen harderDave Airlie2010-10-132-3/+3
|
* r600g: fix relative addressing when splitting constant accessesStephan Schmid2010-10-131-0/+2
| | | | Signed-off-by: Dave Airlie <[email protected]>
* r600g: add missing eg reg definitionDave Airlie2010-10-131-0/+3
|
* r600g: evergreen add stencil export bitDave Airlie2010-10-131-0/+5
|
* r600g: use blitter for hw copy regionDave Airlie2010-10-131-2/+31
| | | | | at the moment depth copies are failing (piglit depth-level-clamp) so use the fallback for now until get some time to investigate.
* r600g: drop all use of unsigned longDave Airlie2010-10-132-11/+11
| | | | this changes size on 32/64 bit so is definitely no what you want to use here.
* r600g: fix transfer stride.Dave Airlie2010-10-131-0/+3
| | | | fixes segfaults
* r600g: remove bpt and start using pitch_in_bytes/pixels.Dave Airlie2010-10-134-12/+20
| | | | | this mirror changes in r300g, bpt is kinda useless when it comes to some of the non-simple texture formats.
* r600g: rename pitch in texture to pitch_in_bytesDave Airlie2010-10-134-14/+14
|
* r600g: use common texture object create functionDave Airlie2010-10-131-33/+41
|
* r600g: split out miptree setup like r300gDave Airlie2010-10-131-12/+43
| | | | just a cleanup step towards tiling
* r600g: add copy into tiled textureDave Airlie2010-10-131-3/+22
|
* r600g: the vs/ps const arrays weren't actually being used.Dave Airlie2010-10-132-16/+0
| | | | completely removed them.
* r600g: reduce size of context structure.Dave Airlie2010-10-132-4/+35
| | | | | this thing will be in the cache a lot, so having massive big struct arrays inside it won't be helping anyone.
* tdfx: Silence unused variable warning on non-debug builds.Vinson Lee2010-10-121-0/+1
| | | | | | Fixes this GCC warning. tdfx_texman.c: In function 'tdfxTMMoveOutTM_NoLock': tdfx_texman.c:897: warning: unused variable 'shared'
* r600g: store samplers/views across blit when we need to modify themDave Airlie2010-10-134-31/+66
| | | | also fixup framebuffer state copies to avoid bad state.
* r600g: fix scissor/cliprect confusionDave Airlie2010-10-132-100/+10
| | | | | gallium calls them scissors, but r600 hw like r300 is better off using cliprects to implement them as we can turn them on/off a lot easier.
* r600g: fix depth0 settingDave Airlie2010-10-131-2/+2
|
* r300: Silence uninitialized variable warning.Vinson Lee2010-10-121-0/+1
| | | | | | | Fixes this GCC warning. r300_state.c: In function 'r300InvalidateState': r300_state.c:2247: warning: 'hw_format' may be used uninitialized in this function r300_state.c:2247: note: 'hw_format' was declared here
* mesa: reformatting, comments, code movementBrian Paul2010-10-121-78/+99
|
* draw/llvmpipe: replace DRAW_MAX_TEXTURE_LEVELS with PIPE_MAX_TEXTURE_LEVELSBrian Paul2010-10-125-23/+21
| | | | | There's no apparent reason for the former to exist. And they didn't even have the same value.
* gallivm: remove newlinesBrian Paul2010-10-121-2/+0
|
* gallivm: fix different handling of [non]normalized coords in linear soa pathRoland Scheidegger2010-10-131-16/+6
| | | | | There seems to be no reason for it, so do same math for both (except the scale mul, of course).
* mesa: remove assertion w/ undeclared variable texelBytesBrian Paul2010-10-121-1/+0
|
* st/mesa: enable stencil shader export extension if supportedDave Airlie2010-10-131-0/+4
|
* glsl: add support for shader stencil exportDave Airlie2010-10-135-0/+30
| | | | | This adds proper support for the GL_ARB_shader_stencil_export extension to the GLSL compiler. Thanks to Ian for pointing out where I need to add things.
* r600g: add shader stencil export support.Dave Airlie2010-10-133-2/+18
|
* r600g: add support for S8, X24S8 and S8X24 sampler formats.Dave Airlie2010-10-131-0/+8
|
* st/mesa: use shader stencil export to accelerate shader drawpixels.Dave Airlie2010-10-134-57/+158
| | | | | | If the pipe driver has shader stencil export we can accelerate DrawPixels using it. It tries to pick an S8 texture and works its way to X24S8 and S8X24 if that isn't supported.
* st/mesa: add option to choose a texture format that we won't render to.Dave Airlie2010-10-133-8/+22
| | | | | | | We need a texture to put the drawpixels stuff into, an S8 texture is less memory/bandwidth than the 32-bit X24S8, but we might not be able to render directly to an S8, so this lets us specify we won't be rendering to this texture.
* softpipe: add support for shader stencil export capabilityDave Airlie2010-10-135-12/+67
| | | | | | this allows softpipe to be used to test shader stencil ref exporting. Signed-off-by: Dave Airlie <[email protected]>
* mesa: improve texstore for 8/24 formats and add texstore for S8.Dave Airlie2010-10-131-119/+144
| | | | | | | | | | | | | this improves mesa texstore for 8/24 so it can create S24X8/X24S8 variants by keeping the depth bits static. it also adds a texstore for S8 so we can write out an S8 texture to use in the sampler for accel draw pixels to save memory bw. The logic seems sound here, I've worked it out a few times on paper, though it would be good to have some review. Signed-off-by: Dave Airlie <[email protected]>
* mesa: add support for FRAG_RESULT_STENCIL.Dave Airlie2010-10-131-2/+3
| | | | | | this is needed to add support for stencil shader export. Signed-off-by: Dave Airlie <[email protected]>
* gallium/util: add S8 tile sampling support.Dave Airlie2010-10-131-0/+27
|
* gallium/format: add X32_S8X24_USCALED format.Dave Airlie2010-10-134-0/+28
| | | | Has similiar use cases to the S8X24 and X24S8 formats.
* gallium/format: add support for X24S8 and S8X24 formats.Dave Airlie2010-10-136-0/+107
| | | | | | these formats are needed for hw that can sample and write stencil values. Signed-off-by: Dave Airlie <[email protected]>
* gallium/tgsi: add support for stencil writes.Dave Airlie2010-10-137-8/+28
| | | | | | this adds the capability + a stencil semantic id, + tgsi scan support. Signed-off-by: Dave Airlie <[email protected]>
* i965: Don't rebase the index buffer to min 0 if any arrays are in VBOs.Eric Anholt2010-10-124-11/+15
| | | | | | | | | There was a check to only do the rebase if we didn't have everything in VBOs, but nexuiz apparently hands us a mix of VBOs and arrays, resulting in blocking on the GPU to do a rebase. Improves nexuiz 800x600, high-settings performance on my Ironlake 41% (+/- 1.3%), from 14.0fps to 19.7fps.