summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* glsl: Fix copy'n'wasted ir_noop_swizzle conditions.Eric Anholt2010-09-221-2/+2
| | | | It considered .xyyy a noop for vec4 instead of .xyzw, and similar for vec3.
* glsl: Rework assignments with write_masks to have LHS chan count match RHS.Eric Anholt2010-09-2211-112/+181
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It turns out that most people new to this IR are surprised when an assignment to (say) 3 components on the LHS takes 4 components on the RHS. It also makes for quite strange IR output: (assign (constant bool (1)) (x) (var_ref color) (swiz x (var_ref v) )) (assign (constant bool (1)) (y) (var_ref color) (swiz yy (var_ref v) )) (assign (constant bool (1)) (z) (var_ref color) (swiz zzz (var_ref v) )) But even worse, even we get it wrong, as shown by this line of our current step(float, vec4): (assign (constant bool (1)) (w) (var_ref t) (expression float b2f (expression bool >= (swiz w (var_ref x))(var_ref edge)))) where we try to assign a float to the writemasked-out x channel and don't supply anything for the actual w channel we're writing. Drivers right now just get lucky since ir_to_mesa spams the float value across all the source channels of a vec4. Instead, the RHS will now have a number of components equal to the number of components actually being written. Hopefully this confuses everyone less, and it also makes codegen for a scalar target simpler. Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* d3d1x: add Wine dlls (tri, tex working, but no other testing)Luca Barbieri2010-09-2216-0/+386
|
* d3d1x: define GUIDs in the normal wayLuca Barbieri2010-09-223-16/+0
|
* d3d1x: fix API nameLuca Barbieri2010-09-221-1/+1
|
* d3d1x: redesign the HWND resolver interfaceLuca Barbieri2010-09-225-105/+250
| | | | This one should be powerful enough to hook up Wine.
* d3d1x: fix GUID declarationsLuca Barbieri2010-09-221-4/+5
|
* d3d1x: destroy native_display on adapter destructionLuca Barbieri2010-09-221-0/+1
|
* dri2: Make createImageFromName() take a __DRIscreen instead of __DRIcontextKristian Høgsberg2010-09-223-9/+7
| | | | | | | We can't expect to have a context when this is called, and we don't need one so just require a __DRIscreen instead. Reported by Yu Dai <[email protected]>
* r600g: fix multiple occlusion query on same idJerome Glisse2010-09-222-3/+11
| | | | | | | When calling query begin using same query id we need to discard previous query results. Signed-off-by: Jerome Glisse <[email protected]>
* r600g: disable shader rebuild optimization & account cb flush packetJerome Glisse2010-09-222-22/+13
| | | | | | | | | Shader rebuild should be more clever, we should store along each shader all the value that change shader program rather than using flags in context (ie change sequence like : change vs buffer, draw, change vs buffer, switch shader will trigger useless shader rebuild). Signed-off-by: Jerome Glisse <[email protected]>
* llvmpipe: fix sprite texcoord setup for non-projective texturingBrian Paul2010-09-221-27/+58
| | | | | | | | Normally the Mesa state tracker uses TXP instructions for texturing. But if a fragment shader uses texture2D() that's a TEX instruction. In that case we were incorrectly computing the texcoord coefficients in the point sprite setup code. Some new comments in the code explain things.
* intel: Fix GL_ARB_shading_language_120 commitKristian Høgsberg2010-09-222-11/+3
| | | | | | | Fix commit e7087175f8a04f777403366fb34b58edd00f4d60. Move the reference to GL_VERSION_2_1_functions to intel_extensions.c where it's available, don't try to enable a non-existing extension and advertise 1.20 for all intel chipsets, not just GEN4 and up.
* r600g: flush color buffer after draw commandJerome Glisse2010-09-221-1/+36
| | | | Signed-off-by: Jerome Glisse <[email protected]>
* llvmpipe: Make rgb/alpha bland func/factors match, when there is no alpha.José Fonseca2010-09-221-14/+8
| | | | Makes AoS blending easier, and state more canonical.
* llvmpipe: Special case complementary and identify blend factors in SoA.José Fonseca2010-09-224-44/+79
| | | | | | | | One multiplication instead of two. Also fix floating point random number generation and verification. TODO: Do the same for AoS blending.
* gallivm: Add unorm support to lp_build_lerp()José Fonseca2010-09-221-9/+75
| | | | Unfortunately this can cause segfault with LLVM 2.6, if x is a constant.
* util: Flush stdout on util_format.José Fonseca2010-09-221-0/+8
|
* d3d1x: fix segfault when hashingLuca Barbieri2010-09-221-1/+1
|
* d3d1x: fix warningLuca Barbieri2010-09-221-1/+1
|
* d3d1x: fix cf analysisLuca Barbieri2010-09-221-1/+1
|
* d3d1x: link with CXXFLAGSLuca Barbieri2010-09-221-1/+1
| | | | Otherwise, -m32 doesn't make it there.
* d3d1x: add missing memory barrierLuca Barbieri2010-09-221-2/+6
|
* d3d1x: don't build progs automaticallyLuca Barbieri2010-09-221-1/+1
| | | | | | | | | | progs requires winsys, which hasn't yet been built by the time we go into state_trackers. It may be a good idea to also move it into tests. After a normal build, run make in src/gallium/state_trackers/d3d1x/progs to build them.
* winsys: automatically build sw winsys needed by EGL and d3d1xLuca Barbieri2010-09-221-0/+10
| | | | A cleaner solution would be preferable, but this does no harm and works.
* glx: decouple dri2.c and GLX, fixing Gallium EGL and d3d1x buildLuca Barbieri2010-09-224-6/+25
| | | | | | | | | | | | | | | The Gallium EGL state tracker reuses dri2.c but not the GLX code. Currently there is a bit of code in dri2.c that is incorrectly tied to GLX: instead, make it call an helper that both GLX and Gallium EGL implement, like dri2InvalidateBuffers. This avoids a link error complaining that dri2GetGlxDrawableFromXDrawableId is undefined. Note that we might want to move the whole event translation elsewhere, and probably stop using non-XCB DRI2 altogether, but this seems to be the minimal fix.
* nvfx: remove gl_PointCoord hackLuca Barbieri2010-09-221-7/+6
| | | | Now Gallium has the proper fix, thanks to Brian Paul.
* d3d1x: attempt to fix/workaround bug #30322Luca Barbieri2010-09-221-1/+1
| | | | | | | | | This may just be hiding some other bug though, since the types are supposed to be the same (and it compiles for me). Anyway, this interface will likely need to changed, since it seems Wine needs a more powerful one capable of expressing window subregions and called at every Present.
* r600g: disable dirty handling on texture from depth code.Dave Airlie2010-09-221-8/+1
| | | | | | | nothing was every dirtying the object again, the mesa-demos reflect test was just stalling. this fixes glean readPixSanity.
* r600g: make stencil readback workDave Airlie2010-09-221-2/+1
| | | | need to write two components to get stencil components as well
* r600g: cleanup some of the DB blit codeDave Airlie2010-09-222-4/+65
| | | | | | | | | add cb/db flush states to the blit code. add support for the rv6xx that need special treatment. according to R6xx_7xx_3D.pdf set r700 CB_SHADER_CONTROL reg in blit code docs say dual export should be disabled for DB->CB
* r600g: fix typo in struct member nameDave Airlie2010-09-225-7/+7
|
* r600g: occlusion query for new designJerome Glisse2010-09-214-6/+237
| | | | Signed-off-by: Jerome Glisse <[email protected]>
* mesa: don't advertise bogus GL_ARB_shading_language_120 extensionBrian Paul2010-09-219-21/+60
| | | | | | | | | | | Instead of using the invalid GL_ARB_shading_language_120 extension to determine the GLSL version, use a new ctx->Const.GLSLVersion field. Updated the intel and r600 drivers, but untested. See fd.o bug 29910 NOTE: This is a candidate for the 7.9 branch (but let's wait and see if there's any regressions).
* glut: Define eventParser for non-Windows only.Vinson Lee2010-09-211-1/+1
| | | | | Fixes this GCC warning on MinGW build. glut_input.c:295: warning: 'eventParser' defined but not used
* glut: Define markWindowHidden for non-Windows only.Vinson Lee2010-09-211-2/+2
| | | | | Fixes this GCC warning on MinGW build. glut_event.c:255: warning: 'markWindowHidden' defined but not used
* softpipe: add missing calls to set draw vertex samplers/viewsBrian Paul2010-09-211-0/+8
| | | | Part of the fix for running softpipe w/ LLVM-enabled draw module.
* gallivm: fix lp_build_sample_compare()Brian Paul2010-09-211-17/+23
| | | | | | | | | | The old code didn't really make sense. We only need to compare the X channel of the texture (depth) against the texcoord. For (bi)linear sampling we should move the calls to this function and compute the final result as (s1+s2+s3+s4) * 0.25. Someday. This fixes the glean glsl1 shadow2D() tests. See fd.o bug 29307.
* d3d1x: ignore errors while building docsLuca Barbieri2010-09-211-0/+1
| | | | Some versions of dot apparently lack pdf output.
* r600g: fix multi buffer renderingJerome Glisse2010-09-211-2/+2
| | | | Signed-off-by: Jerome Glisse <[email protected]>
* glsl2: fix typo in error msgBrian Paul2010-09-211-1/+1
|
* d3d1x: fix GCC 4.1/4.2 buildLuca Barbieri2010-09-211-1/+11
|
* d3d1x: add template parameters to base class ctor calls for GCC 4.4Luca Barbieri2010-09-214-18/+20
| | | | | GCC 4.5 is fine without them, but GCC 4.4 requires them. Should fully fix the build on GCC 4.4
* d3d1x: fix build with compilers other than GCC 4.5Luca Barbieri2010-09-211-7/+33
| | | | | | There was some libstdc++-specific code that would only build with GCC 4.5 Now it should be much more compatible, at the price of reimplementing the generic hash function.
* gallium/docs: The RET opcode may appear anywhere in a subroutine.Tilman Sauerbeck2010-09-211-2/+0
| | | | Signed-off-by: Tilman Sauerbeck <[email protected]>
* i965: Track the windowizer's dispatch for kill pixel, promoted, and OQEric Anholt2010-09-213-6/+23
| | | | | | | | Looks like the problem was we weren't passing the depth to the render target as expected, so the chip would wedge. Fixes GPU hang in occlusion-query-discard. Bug #30097
* i965: Also enable CC statistics when doing OQs.Eric Anholt2010-09-211-3/+4
| | | | This is required by the spec, so respect that.
* i965: Share the KIL_NV implementation between glsl and non-glsl.Eric Anholt2010-09-213-17/+3
|
* r600g: directly allocate bo for user bufferJerome Glisse2010-09-214-27/+66
| | | | Signed-off-by: Jerome Glisse <[email protected]>
* glsl: Add definition of gl_TextureMatrix inverse/transpose builtins.Eric Anholt2010-09-211-0/+3
| | | | | Fixes glsl2/builtin-texturematrix. Bug #30196.