summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* gallium: more work for edgeflags changesRoland Scheidegger2009-12-1415-58/+34
| | | | | fixes, cleanups, etc. not working yet
* gallium: first steps to treat edgeflags as regular vertex elementKeith Whitwell2009-12-0915-131/+111
| | | | | | | | | | The idea here is to eliminate the set_edgeflags() call in pipe_context by treating edgeflags as a regular vertex element. Edgeflags provoke special treatment in hardware, which means we need to label them in some way, in this case we'll be passing them through the vertex shader and labelling the vertex shader output with a new TGSI semantic (TGSI_SEMANTIC_EDGEFLAG).
* util: Document the meaning of util_format_layout.José Fonseca2009-12-091-0/+36
| | | | | | | | | | | | | The util_format_layout name was unfortunate and there are as been a lot of confusion due to this. Hopefully this will shed some light on what it was meant for. Bottom line is: do not rely on these values unless you're automatically code generating pixel packing/unpacking routines. Suggestions for better names than util_format_layout are welcome!
* nouveau: use boolean instead of boolRoland Scheidegger2009-12-086-6/+6
|
* cell: use boolean instead of boolRoland Scheidegger2009-12-081-1/+1
|
* gallium: use boolean instead of bool in p_refcnt.hRoland Scheidegger2009-12-081-3/+3
| | | | all code in gallium should use boolean not bool
* Merge branch 'gallium-strict-aliasing'Roland Scheidegger2009-12-0826-216/+309
|\
| * gallium: fix more potential strict aliasing issuesRoland Scheidegger2009-12-084-61/+148
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In particular, gcc man page warns that union a_union { int i; double d; }; int f() { double d = 3.0; return ((union a_union *) &d)->i; } "might" not be ok (why not?), even though it doesn't seem to generate any warnings. Hence don't use this and do the extra step to actually use assignment to get the values in/out of the union. This changes parts of 3456f9149b3009fcfce80054759d05883d3c4ee5.
| * mesa: fix shader prog_execute strict aliasing violationsRoland Scheidegger2009-12-071-18/+32
| | | | | | | | use unions instead of pointer casts.
| * gallium/util: fix util_color_[un]pack[-ub] to be strict aliasing safeRoland Scheidegger2009-12-0710-128/+113
| | | | | | | | | | | | | | | | use pointer to union instead of void pointer. gcc complained a lot, depending what the pointer originally actually was. Looks like it's in fact maybe legal to cast for instance uint pointers to union pointers as long as union contains a uint type, hence use this with some callers, other just use union util_color in the first place.
| * mesa: fix strict aliasing issues in half-to-float/float-to-half conversionsRoland Scheidegger2009-12-071-8/+9
| | | | | | | | use union instead of casts
| * identity: fix copy&paste errorRoland Scheidegger2009-12-041-1/+1
| |
| * svga: fix another pipe_reference strict aliasing violationRoland Scheidegger2009-12-041-1/+2
| |
| * gallium: fix remaining users of pipe_reference functionRoland Scheidegger2009-12-034-4/+7
| |
| * mesa: use _mesa_memcpy for COPY_4FV macroRoland Scheidegger2009-12-031-8/+3
| | | | | | | | | | | | | | Gets rid of one of the worst strict-aliasing offenders, and actually produces faster code (at least in some cases, when compiler can use for instance 64bit moves for memcpy). (note _mesa_memcpy should get inlined)
| * gallium: fix ref counting bug in pb_bufmgrJosé Fonseca2009-12-031-4/+1
| | | | | | | | This was discovered by the pipe_reference api change.
| * gallium: fix reference counting functions to be strict-aliasing compliantRoland Scheidegger2009-12-037-17/+27
| | | | | | | | | | | | | | | | | | | | | | Historically, parts of mesa code are not strict-aliasing safe, hence -fno-strict-aliasing is needed to compile (this got forgotten for scons builds for gallium, which indeed not only caused compiler warnings but also unexplicable crashes in non-debug builds). However, we should try to eliminate code not complying with strict-aliasing code at least for gallium. Hence change pipe_reference functions to make them strict-aliasing compliant. This adds a bit more complexity (especially for derived classes) but is the right thing to do, and it does in fact fix a segfault.
* | tgsi: fix some off-by-one errors in shader length, instruction lengthBrian Paul2009-12-083-5/+4
| | | | | | | | | | | | | | | | | | | | The ureg and/or tgsi-simplification work introduced some inconsistencies between the ureg and traditional TGSI construction code. Now the tgsi_instruction::NrTokens field is consistant and the tgsi_header::BodySize field isn't off by one. Fixes bug 25455.
* | r600: and finally fix SCSAndre Maasikas2009-12-081-51/+46
| |
* | r600: remove (now) dead codeAndre Maasikas2009-12-082-303/+2
| |
* | r600: fix SIN alsoAndre Maasikas2009-12-082-12/+6
| |
* | r600: use the new inline constants feature to fix COSAndre Maasikas2009-12-081-1/+36
| |
* | r600: add assembler support for literal(inline) constantsAndre Maasikas2009-12-082-21/+49
| | | | | | | | and use it in cubemap instruction sequence for testing
* | r600: merge alu_instruction/alu_instruction2Andre Maasikas2009-12-082-297/+29
| |
* | r600: add ABS support for source regs to assemblerAndre Maasikas2009-12-082-25/+9
| | | | | | | | use it in tex cube instruction sequence
* | r600: glsl - allow specifying texture sampler via uniformsAndre Maasikas2009-12-084-1/+11
| | | | | | | | looks kinda hackish, should rethink later
* | r600: implement FRAG_ATTRIB_FACE, glsl/twoside worksAndre Maasikas2009-12-081-1/+33
| |
* | r600: quick hack to get KIL_NV working - does condition TR only for nowAndre Maasikas2009-12-081-7/+17
| |
* | r600: wip glsl - refactor conditional instructions a bitAndre Maasikas2009-12-082-310/+70
| | | | | | | | | | remember the dst register which is used for cond updates when it's time to use the cond codes issue a separate PRED instruction
* | r600: execute SET funtions on all channelsAndre Maasikas2009-12-081-1/+1
| | | | | | | | | | seems assemble_LOGIC was meant for non-condition-code instructions so execute in for all components as previously
* | move assert to avoid crash in debug build.Alan Hourihane2009-12-081-1/+2
| |
* | Merge branch 'mesa_7_7_branch'Michel Dänzer2009-12-083-1/+7
|\ \
| * | vmware/xorg: Fix SCons build.Michel Dänzer2009-12-082-0/+4
| | | | | | | | | | | | Not sure how vmw_screen.c could build at all though...
| * | vmware/xorg: Avoid warning about HAVE_STDINT_H being redefined.Michel Dänzer2009-12-081-1/+3
| | |
* | | Merge branch 'mesa_7_7_branch'Andre Maasikas2009-12-0829-88/+232
|\| | | | | | | | | | | | | | | | | Conflicts: src/mesa/drivers/dri/r600/r700_assembler.c src/mesa/main/version.h
| * | Merge branch 'mesa_7_6_branch' into mesa_7_7_branchAndre Maasikas2009-12-084-21/+18
| |\ \
| | * | r600: add support for TXB instructionAndre Maasikas2009-12-081-17/+9
| | | | | | | | | | | | | | | | | | | | makes testing other things easier - does not hang the card TODO: enable TEX dependency tracking in vertex programs
| | * | r600: reorder state for render_target and blendAndre Maasikas2009-12-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | First time around render targets are not enabled yet (done in r700SendRenderTargetState) so blend state is not emitted for any targets. Affects first glClear in some mesa tests. As a quick fix reorder state emit so that target is set first
| | * | llvmpipe: Initialize variables in emit_instruction.Vinson Lee2009-12-071-3/+3
| | | |
| | * | progs/test: Initialize variable in prog_parameter.Vinson Lee2009-12-071-0/+5
| | | | | | | | | | | | | | | | Silences uninitialized variable compiler warning.
| * | | mesa: set version string to 7.7-rc1mesa_7_7_rc2Ian Romanick2009-12-072-2/+2
| | | | | | | | | | | | | | | | Also modify the Makefile to use the correct version for the tarballs.
| * | | Merge branch 'mesa_7_6_branch' into mesa_7_7_branchIan Romanick2009-12-0714-39/+58
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: progs/demos/projtex.c progs/xdemos/glxinfo.c src/mesa/main/version.h To fix the confilicts in projtex.c and glxinfo.c I just took the code from mesa_7_6_branch. The conflicts seem to have occured from cherry-picks from mesa_7_7_branch to mesa_7_6_branch followed by commmits just to mesa_7_6_branch.
| | * | mesa: set version string to 7.6.1-rc3mesa_7_6_1_rc3Ian Romanick2009-12-071-1/+1
| | | |
| | * | progs/demos: Fix memory leak in projtex.c.Vinson Lee2009-12-071-0/+1
| | | |
| | * | st/egl: Fix memory leak in egl_tracker.c.Vinson Lee2009-12-061-1/+1
| | | | | | | | | | | | | | | | (cherry picked from commit 052b127842af3372fd768eae8e29b240a696a12a)
| | * | dri: Fix potential null pointer dereference in driBindContext.Vinson Lee2009-12-061-1/+2
| | | | | | | | | | | | | | | | (cherry picked from commit 919898e92fa23ff71a59d86a46ff0886a6f34e4d)
| | * | dri: Fix potential null pointer deference in dri_put_drawable.Vinson Lee2009-12-061-4/+4
| | | | | | | | | | | | | | | | (cherry picked from commit 364070b1f2b08d43fb205ec198894a35bec6b2f3)
| | * | glx: Prevent potential null pointer deference in driCreateContext.Vinson Lee2009-12-061-1/+3
| | | | | | | | | | | | | | | | (cherry picked from commit 4b0b250aae6ae7d48cd24f9d91d05ab58086c4b2)
| | * | progs/tests: Add tests to Makefile.Vinson Lee2009-12-051-0/+7
| | | | | | | | | | | | | | | | (cherry picked from commit 76d2ec3a0a047a65ffca70f53848241a3225dad3)
| | * | draw: Initialize variable in draw_pt.c.Vinson Lee2009-12-051-1/+2
| | | | | | | | | | | | | | | | (cherry picked from commit ea98e9820d7117f7a187f355445796b1ef5d9e0c)