summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/svga
AgeCommit message (Collapse)Author
2009-12-08Merge branch 'gallium-strict-aliasing'Roland Scheidegger
2009-12-08gallium: fix more potential strict aliasing issuesRoland Scheidegger
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.
2009-12-07gallium/util: fix util_color_[un]pack[-ub] to be strict aliasing safeRoland Scheidegger
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.
2009-12-05svga: Dump SVGA_3D_CMD_BLIT_SURFACE_TO_SCREEN commands.José Fonseca
2009-12-05svga: Use _debug_printf, so that output may be dumped in release builds too.José Fonseca
The dump calls should be wrapped in #ifdef DEBUG .. #endif.
2009-12-04svga: fix another pipe_reference strict aliasing violationRoland Scheidegger
2009-12-04Merge branch 'gallium-noblocks'Roland Scheidegger
Conflicts: src/gallium/state_trackers/xorg/xorg_exa.c
2009-12-03gallium: fix reference counting functions to be strict-aliasing compliantRoland Scheidegger
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.
2009-12-02Merge branch 'mesa_7_7_branch'Jakob Bornecrantz
2009-12-02gallium: adapt drivers to interface cleanupsRoland Scheidegger
2009-12-01svga: Add header files for overlay supportJakob Bornecrantz
2009-12-01Merge commit 'origin/tgsi-simplify-ext'Keith Whitwell
Conflicts: src/gallium/drivers/r300/r300_vs.c
2009-12-01Merge commit 'origin/mesa_7_7_branch'Keith Whitwell
Conflicts: src/gallium/drivers/svga/svga_screen_texture.c src/gallium/state_trackers/xorg/xorg_composite.c src/gallium/state_trackers/xorg/xorg_exa.c src/gallium/state_trackers/xorg/xorg_renderer.c src/gallium/state_trackers/xorg/xorg_xv.c src/mesa/main/texgetimage.c src/mesa/main/version.h
2009-12-01svga: Update for renamed sampler/texture state setters.Michal Krol
2009-11-27svga: fix for not using texture width/height/depth arraysRoland Scheidegger
2009-11-27svga: Re-add shader dumping.José Fonseca
2009-11-27svga: Handle comment tokens when dumping.José Fonseca
2009-11-27svga: Use consistent names for public symbol names of shader dumping facilities.José Fonseca
2009-11-27svga: Use consistent file names for dumping facilities.José Fonseca
2009-11-27svga: flush our command buffer after the 8th distinct render targetKeith Whitwell
This helps improve the surface cache behaviour in the face of the large number of single-use render targets generated by EXA and the xorg state tracker. Without this we can reference hundreds of individual render targets from a command buffer, which leaves little scope for sharing or reuse of those targets. Flushing early means we can start reusing textures much sooner. This shouldn't have much effect on normal 3d rendering as it's pretty rare to have a command buffer with >8 different render targets in that world.
2009-11-27svga: add DEBUG_CACHE optionKeith Whitwell
2009-11-27svga: Update text shader header.Michal Krol
2009-11-26svga: hash the whole key, not just the first four bytesKeith Whitwell
2009-11-26svga: Remove spurious argument to SVGA_DBG.José Fonseca
2009-11-24tgsi: rename fields of tgsi_full_src_register to reduce verbosityKeith Whitwell
SrcRegister -> Register SrcRegisterInd -> Indirect SrcRegisterDim -> Dimension SrcRegisterDimInd -> DimIndirect
2009-11-24tgsi: rename fields of tgsi_full_dst_register to reduce verbosityKeith Whitwell
DstRegister -> Register DstRegisterInd -> Indirect
2009-11-24tgsi: rename fields of tgsi_full_declaration to reduce verbosityKeith Whitwell
DeclarationRange -> Range
2009-11-24tgsi: rename fields of tgsi_full_instruction to avoid excessive verbosityKeith Whitwell
InstructionPredicate -> Predicate InstructionLabel -> Label InstructionTexture -> Texture FullSrcRegisters -> Src FullDstRegisters -> Dst
2009-11-24tgsi: reduce repetition of structure name in its membersKeith Whitwell
Rename Semantic.SemanticName to Semantic.Name. Similar for SemanticIndex, and the members of the tgsi_version struct.
2009-11-24svga: Handle comment tokens when dumping.José Fonseca
2009-11-24svga: Use consistent names for public symbol names of shader dumping facilities.José Fonseca
2009-11-24svga: Use consistent file names for dumping facilities.José Fonseca
2009-11-24gallium: simplify tgsi tokens furtherKeith Whitwell
Drop anonymous 'Extended' fields, have every optional token named explicitly in its parent. Eg. there is now an Instruction.Label flag, etc. Drop destination modifiers and other functionality which cannot be generated by tgsi_ureg.c, which is now the primary way of creating shaders. Pull source modifiers into the source register token, drop the second negate flag. The source register token is now full - if we need to expand it, probably best to move all of the modifiers to a new token and have a single flag for it.
2009-11-25svga: try harder to make the cachable flag workKeith Whitwell
It doesn't though.
2009-11-25svga: revert packing of surface keyKeith Whitwell
Over-ambitious packing of values broke my cursor.
2009-11-24svga: cache textures as well as buffersKeith Whitwell
2009-11-24svga: Filter out pendantic and ansi flagsJakob Bornecrantz
Rather have the driver compile without the flags then having to disable them.
2009-11-23svga: Scrub Makefiles a bitJakob Bornecrantz
Remove x86 specific hacks. Not that they will ever be used on none x86 arches, but they are built by default. And the way the flags where added was a hack.
2009-11-17svga: Remove -Werror for now as GCC 4.4.x raises a bunch of warningsJakob Bornecrantz
2009-11-17svga: Add svga driverJakob Bornecrantz