Commit Graph

32763 Commits

Author SHA1 Message Date
Chia-I Wu 760451baae glapi: Move public function/variable declarations to glapi.h.
glapi defines an interface that is used by DRI drivers.  It must not be
changed in an ABI incompatible way.  This commit moves all
functions/variables belong to the interface to glapi.h.  Instead of
including u_current.h from glapi.h, u_current.h now includes glapi.h.
2010-08-21 14:13:59 +08:00
richard 0eac4b8740 evergreen : initial support driver code. 2010-08-20 19:28:47 -04:00
Eric Anholt 501c9dc627 i965: Rename nr_depth_regs to nr_payload_regs.
Only 8 out of the up to 13 regs are for source/dest depth, so the name
wasn't particularly appropriate.  Note that this doesn't count the
constant or URB payload regs.  Also, don't pre-divide by 2, so it's
actually a number of registers.
2010-08-20 16:17:40 -07:00
Eric Anholt e6ec500e19 i965: Also use the SIMD8 FB writes for SIMD8 mode on non-SNB. 2010-08-20 16:17:40 -07:00
Zhenyu Wang 5266c0a0c8 i965: Add support for FB writes on Sandybridge. 2010-08-20 16:17:40 -07:00
Zhenyu Wang 3ce2eccbfb i965: Set the destination horiz stride even for da16, as SNB seems to need it. 2010-08-20 16:17:40 -07:00
Zhenyu Wang 35c127362f i965: Set the maximum number of threads on Sandybridge. 2010-08-20 16:17:40 -07:00
Zhenyu Wang 93ba0055c3 i965: Add AccWrCtl support on Sandybridge.
Whenever the accumulator results are needed, this bit must be set.
2010-08-20 16:17:39 -07:00
Zhenyu Wang ffb5095d56 i965: Mention the mlen and rlen for URB reads. 2010-08-20 16:17:39 -07:00
Zhenyu Wang da1502494b i965: Sandybridge doesn't have Compr4 mode, since it's not needed any more. 2010-08-20 16:17:39 -07:00
Zhenyu Wang 0e2d0cc577 i965: Adjust disasm of subreg numbers to be in units of the register type.
This makes reading the code easier when matching up to the specs,
which also use this format.
2010-08-20 16:17:39 -07:00
Eric Anholt b7004350fa i965: Fix DP write channel ordering on Sandybridge.
The SIMD16 message no longer has the goofy interleaved format that
made Compr4 compression necessary before.
2010-08-20 16:17:39 -07: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
Kenneth Graunke 7f80041efa Delete more vestiges of the old shader compiler. 2010-08-20 13:06:02 -07:00
Kenneth Graunke d6cc7191da glsl: Remove bogus "ambient" field from vec4 gl_TextureEnvColor. 2010-08-20 13:01:12 -07:00
Luca Barbieri c3e3793c32 glsl: add missing ambient field to gl_LightModel
Again, this is a one-element struct that was incorrectly missing the
field.
2010-08-20 13:01:09 -07:00
Luca Barbieri fc76d72763 glsl: don't crash if a field is specified for a non-struct uniform
This was triggered by the previous bug, but is a separate problem
in the general sense.
2010-08-20 13:01:07 -07:00
Luca Barbieri c108a7927d glsl: add missing sceneColor field to gl_{Front, Back}LightModelProduct
According to both GLSL 1.20 and 4.0, these are a struct with one field
called "sceneColor".

Fixes a crash on loading in FlightGear.
2010-08-20 13:01:04 -07:00
Eric Anholt 27e6552a8f intel: Don't try to do work for BufferSubData with a size of 0.
If we hit the linear blit path, we'd come up with a pitch of 0, then
divide by zero.

Fixes vbo-subdata-zero, made for bug #28931 (warsow).
2010-08-20 12:36:34 -07:00
Nick Bowler 5482eaba6e mesa: Fix GetUniformLocation while compiling display lists.
This function was apparently missing from the display list dispatch
table, causing the generic no-op function to be called instead.  To make
matters worse, the no-op function is indistinguishable from a successful
call to GetUniformLocation.  GL specifies that GetUniformLocation is
executed immediately when compiling display lists.

Fixes fdo bug 29622.

Signed-off-by: Nick Bowler <nbowler@draconx.ca>
2010-08-20 10:55:50 -07:00
Eric Anholt 284ce20901 Remove remnants of the old glsl compiler. 2010-08-20 10:55:42 -07: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 cfc0081740 mesa: Add missing ES sources to SConscript.
These sources compile to nothing when FEATURE_ES is not defined and thus
were overlooked.  Note that api_exec_es[12].c are still missing on the
list.  They should be added when they can be generated on the fly.
2010-08-20 19:26:43 +08:00
Chia-I Wu ae2ace64f4 mesa: Decorate functions with GL_APIENTRY in es_generator.py.
Note that GLES headers use GL_APIENTRY, not GLAPIENTRY.
2010-08-20 19:26:18 +08:00
Chia-I Wu 8043bf555e mesa: Include compiler.h for ASSERT.
mfeatures.h defines ASSERT_NO_FEATURE to ASSERT, which is defined in
compiler.h.  Header files using the macro should include compiler.h.
2010-08-20 19:22:51 +08: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
Chia-I Wu 5eb33596a0 egl: Fix context API check and be verbose.
The API of the context was not checked against EGL_RENDERABLE_TYPE when there
was no attribute list.  Move the check to _eglInitContext, and be verbose about
common mistakes (EGL_RENDERABLE_TYPE not set, EGL_CONTEXT_CLIENT_VERSION not
set, or eglBindAPI not called).
2010-08-20 19:22:51 +08:00
Chia-I Wu ce2cae4130 egl: Add egl.def for win32 build.
Without the .def file, function names are decorated and cannot be
queried by GetProcAddress easily.
2010-08-20 19:22:50 +08:00
Chia-I Wu f508c0c097 egl: Allow core functions to be queried.
When _EGL_GET_CORE_ADDRESSES is defined, eglGetProcAddress can be used to query
core functions.  This is non-standard, but some apps expect it.
2010-08-20 19:22:35 +08:00
Keith Whitwell 4df17f9dfe st/mesa: fix code/declaration mixing 2010-08-20 11:52:01 +01: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 7f15dca6d9 mesa/st: use PIPE_TEXTURE_RECT for GL_TEXTURE_RECTANGLE 2010-08-20 12:04:09 +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