Commit graph

1696 commits

Author SHA1 Message Date
Brian Paul
59a168d5c9 tgsi: scan for additional info: uses_fogcoord, uses_frontfacing 2008-12-18 18:08:32 -07:00
Robert Ellison
36c7bb697d Gallium: fix for conform test
The following construction in util_surface_copy() in
gallium/auxiliary/util/u_rect.c, introduced in commit
d177c9ddda, incorrectly inverts
the Y coordinate in the last parameter to pipe_copy_rect().

      /* If do_flip, invert src_y position and pass negative src stride
*/
      pipe_copy_rect(dst_map,
                     &dst->block,
                     dst->stride,
                     dst_x, dst_y,
                     w, h,
                     src_map,
                     do_flip ? -(int) src->stride : src->stride,
                     src_x,
                     do_flip ? w - src_y : src_y);

The intention is to start at the last Y coordinate line and move
backwards, in the case of a flip; in that case, the correct
calculation is "src_y + h - 1", not "w - src_y".

This fixes a Gallium assertion failure in the conformance tests:

      u_rect.c:65:pipe_copy_rect: Assertion `src_y >= 0' failed.
      debug_get_bool_option: GALLIUM_ABORT_ON_ASSERT = TRUE
      Trace/breakpoint trap
2008-12-18 11:25:27 -07:00
José Fonseca
92dc8ffa71 gallium: Enable memory debugging on all windows platforms. 2008-12-18 14:59:42 +00:00
Brian Paul
b890fffbf4 gallium: fix memory corruption in u_gen_mipmap.c
Remove the old/initial vbuf allocation in util_create_gen_mipmap().
We were allocating a small vbuf at this point so get_next_slot() didn't have
as large of buffer as it expected.  So all but the first set_vertex_data()
was writing out of bounds.

Also added some comments.
2008-12-17 19:05:14 -07:00
Brian Paul
2a299851b9 winsys: fix depth buffer size when using stencil 2008-12-17 10:55:29 -07:00
Michal Krol
95ce6474f4 gallium: Fix PIPE_FORMAT_X8B8G8R8_SNORM definition. 2008-12-15 12:29:34 +01:00
Keith Whitwell
56f36ed166 Merge branch 'no-validate' into gallium-0.1 2008-12-12 17:41:49 +00:00
Keith Whitwell
d2c2e9316d gallium: avoid mapping same vertex buffer in subsequent frames
Quite a few util modules were maintaining a single vertex buffer over multiple
frames, and potentially reusing it in subsequent frames.  Unfortunately that
would force us into syncrhonous rendering as the buffer manager would be
forced to wait for the previous rendering to complete prior to allowing the
map.

This resolves that issue, but requires the state tracker to issue a few new
flush() calls at the end of each frame.
2008-12-12 16:57:39 +00:00
Keith Whitwell
aef455c4a7 Revert "pipebuffer: Implement proper buffer validation."
This reverts commit a6d866f72c.
2008-12-12 12:05:39 +00:00
Keith Whitwell
9b3bce6bed Revert "pipebuffer: Ondemand buffer manager."
This reverts commit 17849eafaa.
2008-12-12 12:05:30 +00:00
Keith Whitwell
71051f1f40 Revert "pipebuffer: Fix buffer overflow."
This reverts commit 55839ae064.
2008-12-12 12:05:21 +00:00
José Fonseca
e9e43321ee gdi: Reimplement using the WGL statetracker. 2008-12-12 16:06:34 +09:00
Michal Krol
5c845b9115 softpipe: Add missing header include. 2008-12-11 13:55:55 +01:00
Michal Krol
401a18a0c6 draw: Silencium compiler warnings on Windows. 2008-12-11 13:54:05 +01:00
Brian Paul
d0bc5293d6 gallium: added draw_set_mrd() function to fix polygon offset
The Minimum Resolvable Depth factor depends on the driver and can't just
be computed from the number of Z buffer bits.
Glean's polygon offset test now passes with softpipe.
Still need to determine the MRD factor for other gallium drivers, if they use
the draw module's polygon offset stage...
2008-12-10 18:06:44 -07:00
Brian Paul
99b862cd77 gallium: restore default_depth_bits() call in xlib winsys
This was accidentally disabled in a long-ago commit.
2008-12-10 18:06:30 -07:00
Keith Whitwell
50beb86ce3 util: new funcs for triming/validating primitives 2008-12-10 12:52:07 +00:00
Keith Whitwell
7519107a97 draw: add const qualifiers 2008-12-10 12:52:06 +00:00
José Fonseca
51d9642f74 python/retrace: Dump indices too. 2008-12-09 19:37:25 +09:00
José Fonseca
2ce2a40a73 gallium: Abort by default on windows user space. 2008-12-09 19:35:52 +09:00
José Fonseca
d26a43f6c6 python/retrace: Dump vertex buffer contents. 2008-12-08 17:26:02 +09:00
Michal Krol
158a5f75d8 tgsi: Reenable OPCODE_ARR. 2008-11-26 22:29:49 +01:00
Michal Krol
527e76a7ec tgsi: Fix build. 2008-11-26 17:20:07 +01:00
Michal Krol
972922b1bf tgsi: Implement OPCODE_ROUND for SSE2 backend. 2008-11-26 17:15:36 +01:00
Michal Krol
1347439a87 tgsi: Implement OPCODE_SSG/SGN. 2008-11-26 17:11:03 +01:00
Brian Paul
1250526e30 gallium: disable TGSI_OPCODE_ARR case until emit_rnd() is redone. 2008-11-26 07:41:19 -07:00
Brian Paul
6e96bd70e5 Revert "tgsi: Implement OPCODE_ROUND for SSE2 backend."
This reverts commit 685fd2c035.

Does not compile since emit_rnd() is trying to pass 4 params to
emit_func_call_dst() which takes 3 params.
2008-11-26 07:38:31 -07:00
Michal Krol
eee3d21604 tgsi: Implement OPCODE_ARR. 2008-11-26 21:47:09 +09:00
Michal Krol
685fd2c035 tgsi: Implement OPCODE_ROUND for SSE2 backend. 2008-11-26 21:47:00 +09:00
José Fonseca
55839ae064 pipebuffer: Fix buffer overflow. 2008-11-25 15:49:23 +09:00
José Fonseca
17849eafaa pipebuffer: Ondemand buffer manager.
A variation of malloc buffers which get transferred to real graphics memory
when there is an attempt to validate them.
2008-11-24 23:17:49 +09:00
José Fonseca
a6d866f72c pipebuffer: Implement proper buffer validation. 2008-11-24 13:59:06 +09:00
José Fonseca
d600c805c0 gallium: Define convenience shortcuts for CPU/GPU READ/WRITE flag combinations. 2008-11-24 13:45:19 +09:00
José Fonseca
15b92b09e0 scons: Support MinGW32 cross compiler.
To build an alternative opengl32.dll with Gallium's software-rasterizer from a
debian-based distribution run:

  sudo apt-get install mingw32
  scons platform=windows toolchain=crossmingw machine=x86 winsys=gdi dri=no
2008-11-20 23:01:43 +09:00
José Fonseca
59ae12b5b1 python/retrace: Dump constants. 2008-11-20 01:02:03 +09:00
José Fonseca
2f153b5487 python: Allow to read from buffers. 2008-11-20 01:01:48 +09:00
José Fonseca
8a9e06257f python/retrace: Fix formatting of shaders. 2008-11-19 20:06:52 +09:00
José Fonseca
03f19bc33d python/retrace: Ignore irrelevant calls. 2008-11-19 20:06:04 +09:00
José Fonseca
56ce90c8be python/retrace: Highlight the trace dump to help to visualize. 2008-11-19 17:17:06 +09:00
José Fonseca
9efa6cafea python/retrace: Use the usual BSD-style license. 2008-11-19 16:23:01 +09:00
José Fonseca
228afbc8e0 gallium: Use costum log2 for all windows builds. 2008-11-17 22:29:24 +09:00
José Fonseca
1e35d92953 gallium: State when there are no memory leaks detected. 2008-11-17 12:29:13 +09:00
José Fonseca
c13cf0d690 gallium: Make handle_table reentrant.
Ensure that the object has consistent state also when calling the destroy
callback. Namely, ensure the object passed to the callback is removed from
the table prior to calling the destroy callback to avoid a infinite loop or
double free.
2008-11-17 12:28:49 +09:00
Brian Paul
7e584a70c4 gallium: increase table size for fast log/pow functions
The various conformance tests pass now.
2008-11-14 12:58:12 -07:00
Brian Paul
6afab9001e util: Use OpenGL rasterization rules in blits and mipmap generation. 2008-11-14 12:58:12 -07:00
Keith Whitwell
0557fa72c0 translate: pull in prefetch and other optimizations from draw_vs_aos.c 2008-11-14 18:00:43 +00:00
Michal Krol
0d8637451b util: Optimise log2(). 2008-11-12 19:02:41 +01:00
Michal Krol
f447eea4de util: Add log2() definition for MSC. 2008-11-12 17:14:07 +01:00
Michal Krol
a983f2a6ac draw: Add missing include. 2008-11-12 17:03:58 +01:00
Brian
ff42991c72 gallium: fix comment again. A half-closed interval was intended.
Never saw the [a,b[ notation before.
2008-11-10 20:22:36 -07:00