Commit graph

10191 commits

Author SHA1 Message Date
Luca Barbieri
fa32fde26c auxiliary: add copyright headers
Thanks to Jose Fonseca for pointing out they were missing.
2010-08-21 12:37:39 +02:00
José Fonseca
121aa3cfcb util: Match printf format to silence warning. 2010-08-21 10:38:22 +01:00
José Fonseca
04c2a22175 util: Make the reference debuggin code more C++ friendly.
C++ doesn't accept function <-> void* conversions without a putting a
fight.
2010-08-21 10:34:42 +01:00
José Fonseca
7a40d15e6c util: Remove the x86 exception handlers.
Unused now that check_os_katmai_support was removed.
2010-08-21 10:07:12 +01:00
Alex Corscadden
ce3a07c392 trace: Don't immediately destroy the pipe's sampler view in the trace driver.
The trace driver's implementation of sampler_view_destroy was calling
directly into the underlying pipe's sampler_view_destroy implementation.
This causes problems for pipes that keep references to sampler views
even after the state tracker has released them.  Instead, we'll simply
drop the trace driver's reference to the pipe's sampler view.

Signed-off-by: José Fonseca <jfonseca@vmware.com>
2010-08-21 09:45:43 +01:00
Alex Corscadden
29dde59ea7 trace: Trace the correct version of the resource when setting the index buffer.
The trace driver was tracing the unwrapped version of the index buffer
when setting the index buffer.  This caused an assert validating that
a resource belonged to the trace driver to fail.  Instead, we'll log
the unmodified index buffer structure when setting the index buffer.

Signed-off-by: José Fonseca <jfonseca@vmware.com>
2010-08-21 09:44:12 +01:00
Luca Barbieri
132b9439e2 os_stream: fix bugs in allocation path 2010-08-21 00:51:29 +02:00
Luca Barbieri
9960200d5e p_compiler: add replacement va_copy
This might technically not always be correct, because va_copy might
be a function, or a system might not have va_copy, and not work with
assignment.

Hopefully this is never the case.
Without configure tests, it doesn't seem possible to do better.
2010-08-21 00:51:29 +02:00
Jerome Glisse
a4b10a5614 r600g: add POW instruction
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
2010-08-20 18:54:26 +02:00
Jerome Glisse
921c987c6f r600g: cleanup definition, fix segfault when no valid pixel shader
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
2010-08-20 18:54:26 +02:00
Michal Krol
a43a2f0662 util: Fix build for C++ compilers. 2010-08-20 18:51:22 +02:00
Luca Barbieri
c806a40277 gallium: hook up reference count debugging code
This commit adds the ability to produce a log file containing all
reference count changes, and object creation/destruction, on Gallium
objects.

The data allows to answer these crucial questions:
1. This app is exhausting all my memory due to a resource leak: where
   is the bug?
2. Which resources is this app using at a given moment? Which parts of
   the code created them?
3. What kinds of resources does this app use?
4. How fast does this app create and destroy resources? Which parts of
   the code create resources fast?

The output is compatible with the one produced by the similar facility
in Mozilla Firefox, allowing to use Mozilla's tools to analyze the data.

To get the log file:
export GALLIUM_REFCNT_LOG=<file>

To get function names and source lines in the log file:
tools/addr2line.sh <file>

To process the log file, see:
http://www.mozilla.org/performance/refcnt-balancer.html
2010-08-20 18:18:28 +02:00
Luca Barbieri
2ff13fe89e auxiliary: add reference count debugging code 2010-08-20 18:18:28 +02:00
Luca Barbieri
b1fa352db8 os_stream: add printf facility 2010-08-20 18:18:28 +02:00
Luca Barbieri
40eef4c20c u_debug_symbol: add symbol name caching
Without this, any form of logging that dumps stack traces continuously
will spend a lot of time resolving symbol names.
2010-08-20 18:18:28 +02:00
Luca Barbieri
b3e57fc868 u_debug_symbol: add support for getting symbol names from glibc 2010-08-20 18:18:28 +02:00
Luca Barbieri
64c4f9c566 u_debug_symbol: support getting a string without output 2010-08-20 18:18:28 +02:00
Luca Barbieri
d46f91af68 auxiliary: add functions to describe gallium objects 2010-08-20 18:18:28 +02:00
Dave Airlie
63d010115c r600g: add occlusion query support
Signed-off-by: Dave Airlie <airlied@redhat.com>
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
2010-08-20 16:43:44 +02:00
Luca Barbieri
3aaec4750d u_staging: improve interface 2010-08-20 16:38:32 +02:00
Luca Barbieri
c843a60e63 gallium/docs: improve documentation for resources 2010-08-20 15:24:36 +02:00
Chia-I Wu
5004f823ad targets/egl-gdi: Implement guess_gl_api.
It is needed to support calling eglGetProcAddress before eglInitialize.
2010-08-20 19:22:51 +08:00
Luca Barbieri
7344e6d9b5 galahad: remove incorrect comment just added 2010-08-20 12:07:14 +02:00
Luca Barbieri
09bf09cf92 nv50: use NV50TIC_0_2_TARGET_RECT 2010-08-20 12:04:10 +02:00
Luca Barbieri
ccd0864357 galahad: check resource_create template 2010-08-20 12:04:10 +02:00
Luca Barbieri
96a82cc314 winsys/sw: use PIPE_TEXTURE_RECT if appropriate 2010-08-20 12:04:08 +02:00
Luca Barbieri
d34f6e9db1 st/glx: use PIPE_TEXTURE_RECT if appropriate 2010-08-20 12:04:07 +02:00
Luca Barbieri
4a5acc0ec7 st/dri: use PIPE_TEXTURE_RECT if appropriate 2010-08-20 12:04:06 +02:00
Luca Barbieri
d4ec85e624 auxiliary: support using PIPE_TEXTURE_RECT internally
Currently Gallium internals always use PIPE_TEXTURE_2D and normalized
coordinates to access textures.

However, PIPE_TEXTURE_2D is not always supported for NPOT textures,
and PIPE_TEXTURE_RECT requires unnormalized coordinates.

Hence, this change adds support for both kinds of normalization.
2010-08-20 12:04:05 +02:00
Luca Barbieri
4a9bfb24eb u_staging: use PIPE_TEXTURE_RECT 2010-08-20 12:04:02 +02:00
Luca Barbieri
cbe3672279 u_blitter: use TGSI_TEXTURE_RECT
This seems to make sense, although I suspect the semantics of
TGSI_TEXTURE_RECT need to be closely reviewed.
2010-08-20 12:04:01 +02:00
Luca Barbieri
ae0ef6f69f gallium: make all checks for PIPE_TEXTURE_2D check for PIPE_TEXTURE_RECT too
Searched for them with:
git grep -E '[!=]=.*PIPE_TEXTURE_2D|PIPE_TEXTURE_2D.*[!=]=|case.*PIPE_TEXTURE_2D'

Behavior hasn't been changed.
2010-08-20 12:04:00 +02:00
Luca Barbieri
72b3e3fee3 gallium: add PIPE_TEXTURE_RECT target
This allows to properly support OpenGL rectangle textures in a well
defined way, especially on drivers that don't expose
PIPE_CAP_NPOT_TEXTURES.
2010-08-20 12:03:59 +02:00
Corbin Simpson
e0ef4800f5 galahad, i915g: Copy over constant buffer index check. 2010-08-20 00:18:30 -07:00
Corbin Simpson
cdc1c67b98 galahad, i915g: Move over a few state asserts. 2010-08-20 00:00:40 -07:00
Corbin Simpson
11fde173c2 galahad: Make it obvious on stderr that Galahad's active. 2010-08-19 23:34:39 -07:00
Jakob Bornecrantz
d377abd93f gallium/docs: Add Galahad 2010-08-20 02:29:42 +01:00
Luca Barbieri
d3fe699b0b translate_sse: enable on Win64
According to Vinson, enabling it causes no regressions
2010-08-20 00:09:37 +02:00
Marek Olšák
a9b20d4597 u_blitter: fix a memory leak 2010-08-19 23:32:04 +02:00
Marek Olšák
06991d87be r300g: do not use fastfill with 16-bit zbuffers
To my knowledge, there is no way to flush zmask and thus write the clear
value.

This fixes zbuffer reads, among other things.
2010-08-19 23:30:26 +02:00
Alex Deucher
076c53879b r600g: update comments about ALU src operands 2010-08-19 12:06:20 -04:00
Luca Barbieri
c54dea66fd translate_sse: try to fix Win64
Not sure whether it works now (it is still disabled).
2010-08-19 10:08:57 +02:00
Luca Barbieri
18f207310b translate_sse: fix emit_load_sse2 2010-08-19 10:04:07 +02:00
Chia-I Wu
ce29e86458 st/egl: Fix win32 build.
Add new source files to SConscripts.
2010-08-19 14:07:29 +08:00
Dave Airlie
88f5976484 r600g: add sin/cos
This pretty much ports the code from r600c, however it doesn't
always seem to work quite perfectly, but I can't find anything in this
code that is wrong. I'm guessing either literal input or constants
aren't working always.
2010-08-19 15:36:55 +10:00
Dave Airlie
098064e8cb r600g: add a chiprev type for r600/r700/evergreen instead of using family 2010-08-19 15:36:54 +10:00
Dave Airlie
0d48925a56 r600g: add SSG, SEQ, SGT and SNE 2010-08-19 15:36:54 +10:00
michal
8690c6a6b4 gallivm: Use proper index to lookup predicate register array.
Doesn't fix anything, as those indices were both always 0.
2010-08-18 13:16:42 +02:00
Dave Airlie
3af87162cd r600g: add FRC, FLR, DDX and DDY
the first two are straight op2's and the DDX/DDY are taken from r600c.
2010-08-18 16:10:16 +10:00
Dave Airlie
be288c3505 r600g: add SGE and SLE opcodes
fixes fp-set-01 and glsl-fs-step
2010-08-18 16:03:49 +10:00