Commit graph

32169 commits

Author SHA1 Message Date
George Sapountzis
ddabf0a151 glapi: cosmetic for _glapi_add_dispatch
- static vs. extension
- indent
- s/new_offset/static_offset/
- ...
2010-03-10 18:44:45 +02:00
George Sapountzis
f9cc6b3ee7 glapi: use get_extension_proc in _glapi_add_dispatch 2010-03-10 18:44:45 +02:00
George Sapountzis
f0c18da2cf glapi: cosmetic for functions for static table
make similar to functions for extensions table
2010-03-10 18:44:45 +02:00
George Sapountzis
5b2340c493 glapi: add function to find extension by name 2010-03-10 18:44:44 +02:00
George Sapountzis
58985c36be glapi: functions for extensions table similar to static table 2010-03-10 18:44:44 +02:00
Roland Scheidegger
8c34437ded cell: handle NULL cso vertex_elements state object on bind
drivers need to handle NULL cso vertex elements (and others) objects.
It is possible the cso code saves/restores NULL objects (if no normal
cso object was bound before this was invoked).
This led to segfaults (for example demos/cubemap) for apps which were using
things like creating mipmaps before drawing anything.
2010-03-10 16:53:07 +01:00
Chia-I Wu
c47c73293d i915g: Prevent NULL dereference.
bind_vertex_elements_state may be called with NULL velems.  Do nothing
if that is the case.
2010-03-10 23:00:09 +08:00
Chia-I Wu
e4848d21e8 gallium: Do not mix winsys-drawable-handle and context-private.
update_buffer should be called with context-private, not
winsys-drawable-handle.
2010-03-10 22:21:08 +08:00
Michal Krol
9b348d0ed1 svga: Disable debug message. 2010-03-10 14:16:40 +01:00
Michal Krol
504ad3606d svga: Check if vertex elements has been bound before using it. 2010-03-10 14:16:40 +01:00
José Fonseca
c282c0b6e4 softpipe: Prevent NULL dereference. 2010-03-10 12:24:03 +00:00
José Fonseca
c4e0ae3907 docs: Update new opengl32.dll target location. 2010-03-10 12:09:16 +00:00
José Fonseca
986ce8f1c1 python: Remove broken link hack. 2010-03-10 12:05:10 +00:00
José Fonseca
7b8641bbba python: More build fixes. 2010-03-10 12:00:13 +00:00
José Fonseca
fc08d13fdc trace: Make tr_public.h c++ friendly. 2010-03-10 11:53:15 +00:00
Keith Whitwell
0731d14a43 target-helpers: remove swrast_xlib.c helper
This was a good idea, but ended up tying the build systems in knots.
We can revisit this later, in particular if we can put in place dummy
implementations of cell_create_screen(), llvmpipe_create_screen()
which just return NULL if the driver isn't available.

In the meantime, just duplicate this smallish function in the two
places it was being called.
2010-03-10 11:52:04 +00:00
Keith Whitwell
e47a619ea2 ws/xlib: remove dead lines 2010-03-10 11:52:03 +00:00
José Fonseca
e8d884eab9 scons: Fixup the libgl-gdi build. 2010-03-10 11:34:09 +00:00
José Fonseca
6b707667c8 python: Handle the possibility that no driver is selected. 2010-03-10 11:10:58 +00:00
Keith Whitwell
de27e272f4 gallium: remove trace module injection from various state trackers
Components such as state trackers, drivers, etc, should be free to be
recombined in arbtrary ways to build driver stacks.  They should not
be reaching out and trying to build the stack themselves - this is now
expected to be handled by the "target" abstraction.
2010-03-10 10:43:00 +00:00
Keith Whitwell
7e29bef7dc ws/gdi: add include 2010-03-10 10:39:37 +00:00
Keith Whitwell
431a2f99bc target-helpers: helper for injecting common debug layers
Add a helper gallium_wrap_screen() for injecting the commonly
used extra layers into a gallium stack.  Currently that's just the
trace module and identity layer, but there could be more in the
future, eg. a validation layer.
2010-03-10 10:37:57 +00:00
José Fonseca
601bfb5951 python: Fix up state tracker for sw api. 2010-03-10 10:34:29 +00:00
José Fonseca
5235c5aac7 Revert "r300-gallium: Skeleton for integrating into the python statetracker."
This reverts commit 2d56d0839e.

Never actually used.
2010-03-10 10:02:03 +00:00
Keith Whitwell
80f86d22b2 st/wgl: add missing paramter 2010-03-10 09:52:25 +00:00
Keith Whitwell
7ce6b31306 trace: include tr_public.h 2010-03-10 09:51:41 +00:00
Keith Whitwell
3e38dbe3d3 gallium: plumb winsys-drawable-handle through to state tracker
The state trackers need this value so that they can supply it
as the "void *" argument to flush_frontbuffer.

Fixes single-buffer rendering.
2010-03-10 09:22:02 +00:00
Keith Whitwell
155fbcb0ed Merge commit 'origin/master' into gallium-sw-api-2 2010-03-10 08:29:27 +00:00
José Fonseca
eeaa0861bf llvmpipe: Cope with null Vertex element cso.
CSO can often be null.

For example:
1. at initialization
2. using an util module (u_blit) right after initialization (it will push
   state and pop the previous null state)
3. at shutdown time (state shouldn't be bound when being destroyed)

Glean was hitting 2.
2010-03-10 07:23:29 +00:00
Ben Skeggs
ed7f73e161 nouveau: translate PIPE_BUFFER_USAGE_UNSYNCHRONIZED 2010-03-10 16:30:03 +10:00
Ben Skeggs
139062946d nv50: inline nv50_state_flush_notify()
It's (rightly) not called from anywhere else now
2010-03-10 16:30:03 +10:00
Ben Skeggs
7b7fcb0854 nv50: remove nv50_context.state.instbuf 2010-03-10 16:30:02 +10:00
Ben Skeggs
9b233ce7de nv50: remove unnecessary macro 2010-03-10 16:30:02 +10:00
Ben Skeggs
3f93fa6010 nv50: move nv50_prim() into a header file rather than duplicating 2010-03-10 16:30:01 +10:00
Ben Skeggs
4796986c98 nv50: add option to force immediate-mode submission, disable by default 2010-03-10 16:30:01 +10:00
Ben Skeggs
160bda24ed nv50: re-add immediate mode vertex submission paths 2010-03-10 16:30:00 +10:00
Ben Skeggs
0842829c18 nv50: when doing inline indices, split elt lists so they fit into pushbuf 2010-03-10 16:30:00 +10:00
Ben Skeggs
d8a415425e nv50: reimplement draw_elements_instance(), use for draw_elements() too
This makes draw_elements()/draw_elements_instanced() do the right thing
for the non-inline elements cases, and not require flush_notify().
2010-03-10 16:30:00 +10:00
Ben Skeggs
621c4609f8 nv50: reimplement draw_arrays_instanced(), do draw_arrays() in terms of it
This makes draw_arrays()/draw_arrays_instanced() do the right thing and
not require the (probably broken anyway) flush_notify() usage.

It also fixes a potential bug in the behaviour of reading InstanceID from
shaders, where 0 should be read for non-instanced drawing, previously it
was possible to read non-0 ids if mixing instanced/non-instanced.
2010-03-10 16:30:00 +10:00
Ben Skeggs
a527716e81 nv50: rip out inline push draw paths temporarily 2010-03-10 16:30:00 +10:00
Ben Skeggs
2b8c0cf169 nv50: make use of scissor enable/disable method 2010-03-10 16:29:59 +10:00
Ben Skeggs
885d2eceb1 nv50: move magic 0x142c stuff to after state emission 2010-03-10 16:29:59 +10:00
Ben Skeggs
0e6af1fcaa nv50: avoid unnecessary vp/gp/fp state changes 2010-03-10 16:29:59 +10:00
Ben Skeggs
2a84db24b3 nv50: remove pre_pipebuffer_map hack.... 2010-03-10 16:29:59 +10:00
Ben Skeggs
3f804b0f19 nv50: remove horrific abuse of nouveau_channel.flush_notify
Really though, using this at all is just not a good idea in the 3D driver.
I'm almost certain the hardware will not like a reloc appearing between
begin()/end().. Anyways, this is still better than before, more fixes
to come..
2010-03-10 16:29:59 +10:00
Ben Skeggs
c926ed0e76 nv50: always emit dummy relocs for all still-referenced buffers 2010-03-10 16:29:59 +10:00
Ben Skeggs
e1d015fe22 nv50: ensure enough room for state changes in current pushbuf
Also allows the nv50_state_validate() caller to request a minimum amount
of space that itself requires, not all callers accurately use this yet
but the simple cases are now accounted for.

Rendering will also be dropped on the floor if validate fails now.
2010-03-10 16:29:58 +10:00
Ben Skeggs
62ab89785b nv50: rework state emission 2010-03-10 16:29:58 +10:00
Ben Skeggs
ac2b35fd2d nv50: use relocs rather than re-uploading TIC all the time 2010-03-10 16:29:58 +10:00
Corbin Simpson
007f25b3bd r300g: Reorder regs, save one dword.
Or, put another way, save 10% on rendering calls.
2010-03-09 21:37:49 -08:00