Paul Andrew Panon
31573b21b9
wined3d: Rename GL_VENDOR to HW_VENDOR.
2010-03-03 16:06:07 +01:00
Roderick Colenbrander
c0ef7a1a93
wined3d: Move the 8-bit palette shader code over to the blit_shader backend.
2010-03-03 12:53:51 +01:00
Roderick Colenbrander
922ad80f42
wined3d: Rename yuv to complex in order to prepare for 8-bit palette fixups using the same code.
2010-03-03 12:53:41 +01:00
Roderick Colenbrander
ccea415c77
wined3d: Fix multisampling on cards without 32-bit RGB fbconfigs.
2010-03-02 11:11:49 +01:00
Henri Verbeet
de006dbcf9
wined3d: Escape shader comments.
2010-02-23 12:06:58 +01:00
Henri Verbeet
eefb45f333
wined3d: Properly report shader comment sizes.
2010-02-23 12:06:54 +01:00
Stefan Dösinger
5c4d3fb5a2
wined3d: Control SFLAG_CONVERTED in surface_prepare_texture.
...
This makes sure that the flag is set correctly when
surface_allocate_surface is called and client storage is disabled
properly for converted surfaces.
2010-02-17 16:50:38 +01:00
Henri Verbeet
f97565191c
wined3d: Drop buffer objects from the stream info as well when PreLoad drops them.
2010-02-16 10:47:56 +01:00
Henri Verbeet
974f888dfa
wined3d: Move the gl info structure to wined3d_private.h.
2010-02-16 10:47:50 +01:00
Henri Verbeet
1a880cb1f9
wined3d: Remove some unused extensions.
2010-02-16 10:47:40 +01:00
Stefan Dösinger
24e2308670
wined3d: Don't use GL_MAP_FLUSH_EXPLICIT_BIT without GL_MAP_WRITE_BIT.
2010-02-09 11:33:44 +01:00
Stefan Dösinger
8625f0cdbf
wined3d: Don't record dirty areas in a readonly lock.
2010-02-09 11:33:34 +01:00
Henri Verbeet
ba8e6f713b
wined3d: Use the HDC from the acquired context to call SwapBuffer().
...
These should be the same, but this way the relation is clearer.
2010-02-05 10:06:21 +01:00
Henri Verbeet
d0afc7567b
wined3d: Call SetDestWindowOverride() before acquiring a context.
2010-02-05 10:06:17 +01:00
Henri Verbeet
3df59ef0d5
wined3d: Get rid of the now redundant max_ffp_texture_stages device field.
2010-02-05 10:06:12 +01:00
Henri Verbeet
4c7bcb883b
wined3d: Set the texture stage limit based on the fragment pipe caps.
2010-02-05 10:06:08 +01:00
Henri Verbeet
b59dd0e4e8
wined3d: Add the general combiner limit to wined3d_gl_info.
2010-02-05 10:06:03 +01:00
Henri Verbeet
576ea95803
wined3d: Remove the unused device type parameter from the shader backend's get_caps() function.
2010-02-04 13:39:27 +01:00
Henri Verbeet
497386dc5c
wined3d: Remove the unused device type parameter from the fragment pipe's get_caps() function.
...
On the subject of actually supporting software devices, we should probably
implement those by creating a software or reference adapter with appropriate
gl_info and pipe implementations and creating a device based on that.
2010-02-04 13:39:26 +01:00
Henri Verbeet
af7dfcd378
wined3d: Do not preload surfaces when attaching them to an FBO.
...
Just make sure the texture is allocated, so we have something to attach. Note
also that context_apply_attachment_filter_states() runs under the GL lock, so
preloading resources is actually unsafe there.
2010-02-04 13:39:26 +01:00
Henri Verbeet
02e0b3ae1a
wined3d: Introduce surface_prepare_texture().
...
Similar to surface_prepare_system_memory(). In the long term we'll probably
want to move the whole location management to resource.c and unify buffers and
textures there.
2010-02-04 13:39:26 +01:00
Henri Verbeet
b0583a2410
wined3d: Never acquire a context in IWineD3DSurfaceImpl_BindTexture().
...
The caller is already responsible for doing this, so it's redundant at best.
2010-02-04 13:39:26 +01:00
Henri Verbeet
84913109f6
wined3d: Explicitly load and modify the surface in color_fill_fbo().
2010-02-03 13:54:02 +01:00
Henri Verbeet
5f3dccddb4
wined3d: Do not depend on context_attach_surface_fbo() to load the surface in stretch_rect_fbo().
2010-02-03 13:54:02 +01:00
Henri Verbeet
040452ad90
wined3d: Update the stream info before applying states.
2010-02-03 13:54:02 +01:00
Henri Verbeet
31d51fb175
wined3d: Preload textures before applying states.
2010-02-03 13:54:02 +01:00
Henri Verbeet
7ff576bbab
wined3d: Select the blitter during adapter initialization.
2010-02-03 13:54:02 +01:00
Henri Verbeet
cee8e9d881
wined3d: Select the shader backend during adapter initialization.
2010-02-02 14:11:02 +01:00
Henri Verbeet
fb21551b2d
wined3d: Select the fragment pipeline during adapter initialization.
2010-02-02 14:10:56 +01:00
Henri Verbeet
93c49f1777
wined3d: Update the swapchain's present parameters when changing the backbuffer.
...
This fixes a bug exposed by commit b5907e23cc
.
2010-02-02 14:10:52 +01:00
Henri Verbeet
97700f05a9
wined3d: TRACE IWineD3DDeviceImpl_CreateSurface() parameters.
2010-02-02 14:10:44 +01:00
Henri Verbeet
42c83f0260
wined3d: Dump ARB program shaders on compile failure.
...
Similar to the patch for GLSL.
2010-02-02 14:10:40 +01:00
Stefan Dösinger
224043d6cf
wined3d: Implement dynamic buffers with GL_ARB_map_buffer_range.
2010-02-02 14:09:14 +01:00
Stefan Dösinger
f6bb86e196
wined3d: Add GL_ARB_map_buffer_range.
2010-02-02 14:09:04 +01:00
Henri Verbeet
c43c2a2845
wined3d: Use the absolute source value in shader_glsl_rsq().
2010-02-01 14:16:26 +01:00
Henri Verbeet
adf4ca2e23
wined3d: Handle a zero source value for WINED3DSIH_RSQ.
2010-02-01 14:16:22 +01:00
Henri Verbeet
ef82681d59
wined3d: Handle a zero source value for WINED3DSIH_RCP.
2010-02-01 14:16:18 +01:00
Henri Verbeet
4a8f93bade
wined3d: Handle a zero source value for WINED3DSIH_LOG.
2010-02-01 14:16:15 +01:00
Henri Verbeet
bef792f5ff
wined3d: Handle zero-length vectors for WINED3DSIH_NRM.
...
Unfortunately there's no reliable way to generate infinity in GLSL, but a
sufficiently large value will probably do. The important part of the patch is
that we don't generate NaN, because that will keep propagating through the
entire shader.
2010-02-01 14:16:11 +01:00
Luca Bennati
9f3c90973f
wined3d: Add newer ATI/AMD cards vendor recognition.
2010-02-01 12:46:23 +01:00
Stefan Dösinger
d499073c10
wined3d: Catch invalid buffer map parameters.
2010-01-29 14:59:02 +01:00
Henri Verbeet
9f21f2c2f2
wined3d: Dump the GLSL shader source on link failure.
...
Mostly to help Mesa developers diagnose bug reports involving GLSL compile
failures, but it's convenient in general to have the source all in one place.
2010-01-29 13:30:06 +01:00
Henri Verbeet
c03d367d3c
wined3d: Get rid of an unnecessary GetContainer() call in surface_blt_to_drawable().
2010-01-29 13:30:06 +01:00
Henri Verbeet
d66f5345e6
wined3d: Prune invalid states from the state table.
2010-01-29 13:30:06 +01:00
Henri Verbeet
19516bf69f
wined3d: Add some basic state table validation.
2010-01-29 13:30:05 +01:00
Henri Verbeet
9bbccb7f80
wined3d: Add a debug function for state names.
2010-01-29 13:30:05 +01:00
Henri Verbeet
a3e1a6f2ee
wined3d: Use correct texture stage limits in a couple of places.
2010-01-28 11:08:14 +01:00
Henri Verbeet
daf0aeb34a
wined3d: Make sure all contexts are finished drawing before calling SwapBuffers().
...
This causes a small performance hit when multiple GL contexts are used. As an
optimization we could use ARB_sync to only wait for the last draw call instead
of all GL commands.
2010-01-28 11:08:07 +01:00
Henri Verbeet
ce42470138
wined3d: Ensure draw ordering across contexts.
2010-01-28 11:07:59 +01:00
Henri Verbeet
b2e511f391
wined3d: Trace the GLSL version string.
...
At some point we'll use the GLSL version to check if certain features are
available. For now just print the version.
2010-01-28 11:07:52 +01:00
Henri Verbeet
08c2a23599
wined3d: Just use the GL 1.1 texture format constants.
...
We assume GL 1.1 is available everywhere else.
2010-01-28 11:07:48 +01:00
Henri Verbeet
69861cf873
wined3d: Get rid of the depth range hack.
2010-01-27 11:16:07 +01:00
Henri Verbeet
fe1024ae4f
wined3d: Add a FIXME for missing ARB_depth_clamp support.
2010-01-27 11:15:45 +01:00
Stefan Dösinger
ee720f05d1
wined3d: Put the APPLE_flush_buffer_range code into the right branch.
2010-01-26 12:18:59 +01:00
Henri Verbeet
005eb0bd7d
wined3d: Move some macros to directx.c.
...
Nothing GL specific about these.
2010-01-26 12:08:33 +01:00
Henri Verbeet
98568f0ba1
wined3d: Add support for ARB_vertex_array_bgra.
2010-01-26 12:08:27 +01:00
Henri Verbeet
96b150929b
wined3d: Add an ARB_sync implementation of event queries.
2010-01-26 12:08:23 +01:00
Henri Verbeet
c698171fa3
wined3d: Add support for ARB_sync.
2010-01-26 12:08:18 +01:00
Henri Verbeet
705f96fa39
wined3d: Get rid of some unnecessary casts to specific shader types.
2010-01-26 12:08:13 +01:00
Henri Verbeet
3d112b6525
wined3d: Add support for EXT_gpu_shader4 provided sampling functions with explicit derivatives.
2010-01-25 12:58:59 +01:00
Henri Verbeet
f71e84d89c
wined3d: Store a pointer to the GL info in the shader context.
2010-01-25 12:58:52 +01:00
Henri Verbeet
c78cce8845
wined3d: Use the correct GLSL functions for sampling Rect textures with explicit derivatives.
...
Also kill the obsolete comment.
2010-01-25 12:58:48 +01:00
Henri Verbeet
5f4ff65fb4
wined3d: Use the GLSL round() function when available.
2010-01-25 12:58:43 +01:00
Henri Verbeet
869fc74576
wined3d: Add support for EXT_gpu_shader4.
2010-01-25 12:58:39 +01:00
Henri Verbeet
60ad1aed63
wined3d: Remove unused occlusion query extensions.
2010-01-22 12:12:14 +01:00
Henri Verbeet
c5086a123e
wined3d: Remove the duplicate GL_2X_BIT_ATI define.
2010-01-22 12:12:07 +01:00
Henri Verbeet
7047f09890
wined3d: Remove the second set of EXT_texture_env_dot3 definitions.
2010-01-22 12:12:01 +01:00
Henri Verbeet
53c3521795
wined3d: Fix the ARB_pixel_buffer_object extension definitions.
2010-01-22 12:11:56 +01:00
Henri Verbeet
2fe633efbc
wined3d: Sort our GL extension definitions.
...
This makes some of the problems in there a bit more obvious.
2010-01-22 12:11:51 +01:00
Henri Verbeet
d967973d8c
wined3d: Set the query.c GLINFO_LOCATION to *gl_info.
2010-01-20 15:30:04 +01:00
Henri Verbeet
ee1f2c4654
wined3d: Don't leak the context array in the swapchain_init() error path.
2010-01-20 15:29:57 +01:00
Henri Verbeet
516d54bf91
wined3d: Merge baseshader.c into shader.c.
2010-01-18 14:37:51 +01:00
Henri Verbeet
36b21e332c
wined3d: Remove some unused query code.
2010-01-18 14:37:37 +01:00
Henri Verbeet
a2624ae82e
wined3d: Add a separate function for query initialization.
2010-01-18 14:37:30 +01:00
Paul Vriens
c8681f885d
wined3d: Fix use of memset (Coccinelle).
2010-01-08 10:13:51 +01:00
Henri Verbeet
46cefd312c
wined3d: Recognize the SM4 cut opcode.
2010-01-07 09:26:54 +01:00
Henri Verbeet
449e521984
wined3d: Recognize the SM4 endloop opcode.
2010-01-07 09:26:49 +01:00
Henri Verbeet
0296aaa6a6
wined3d: Recognize the SM4 endif opcode.
2010-01-07 09:26:45 +01:00
Henri Verbeet
58233befb7
wined3d: Recognize the SM4 break opcode.
2010-01-07 09:26:40 +01:00
Henri Verbeet
dbeeb07713
wined3d: Recognize the SM4 if opcode.
2010-01-07 09:26:36 +01:00
Henri Verbeet
3687677427
wined3d: Recognize the SM4 lt opcode.
2010-01-07 09:26:30 +01:00
Henri Verbeet
6d5aca61f3
wined3d: Recognize the SM4 iadd opcode.
2010-01-07 09:26:25 +01:00
Henri Verbeet
22939f9d29
wined3d: Recognize the SM4 emit opcode.
2010-01-07 09:26:20 +01:00
Henri Verbeet
6715d495ea
wined3d: Recognize the SM4 breakc opcode.
...
Map this to WINED3DSIH_BREAKP because it's a better fit.
2010-01-07 09:26:14 +01:00
Henri Verbeet
c57c76b78e
wined3d: Recognize the SM4 ige opcode.
2010-01-07 09:26:08 +01:00
Henri Verbeet
f5c8153edd
wined3d: Handle stateblock capture for default lights created while recording.
...
For non-recorded stateblocks a light always exists in the device stateblock as
well, since that's where it's copied from. However, when SetLightEnable() is
called for a light that didn't a exist yet while recording a stateblock, the
light is only created on the recorded stateblock.
2010-01-05 12:19:14 +01:00
Henri Verbeet
5bac33d358
wined3d: Remove a few redundant context dereferences.
2010-01-05 12:19:09 +01:00
Stefan Dösinger
a756caac0c
wined3d: Implement subrange flushing with GL_APPLE_flush_buffer_range.
2010-01-04 12:09:34 +01:00
Stefan Dösinger
5296d5b016
wined3d: Prepare for dynamic vertex buffers.
2010-01-04 12:09:28 +01:00
Stefan Dösinger
ccc26a9e01
wined3d: Add GL_APPLE_flush_buffer_range.
2010-01-04 12:09:18 +01:00
Stefan Dösinger
71db272fee
wined3d: Add GLintptr and GLsizeiptr.
2010-01-04 12:09:12 +01:00
Stefan Dösinger
716520b4b8
wined3d: Track separate dirty ranges in buffers.
2010-01-04 12:08:14 +01:00
Stefan Dösinger
1bd98719e6
wined3d: Set WINED3D_BUFFER_CREATEBO in buffer_init().
2010-01-04 12:07:50 +01:00
Stefan Dösinger
b9976c3d20
wined3d: Revert the GL usage confusion.
...
This is functionally a revert of
8eeb513b1a
. The language of the extension
is slightly confusing to me, but GL_STREAM_*_ARB is more dynamic than
GL_DYNAMIC_*_ARB. So use GL_STREAM usage for D3DUSAGE_DYNAMIC buffers and
GL_DYNAMIC usage for non-dynamic buffers.
2010-01-04 12:07:45 +01:00
Gerald Pfeifer
0cf44ae02e
wined3d: Introduce WINED3DFMT_INST and use it in CheckTextureCapability().
2010-01-04 11:49:58 +01:00
Henri Verbeet
ce2c3ea6c7
wined3d: Handle source and destination rectangles in IWineD3DSwapChainImpl_Present().
2010-01-04 11:41:29 +01:00
Henri Verbeet
b5907e23cc
wined3d: Add support for source and destination rectangles to swapchain_blit().
2010-01-04 11:41:29 +01:00
Henri Verbeet
41401fb8cf
wined3d: Add a geometry shader object.
...
This is just the object used to store the byte code, the shader compiler
doesn't know how to handle geometry shaders yet.
2010-01-04 11:41:28 +01:00
Henri Verbeet
f50b4c7d71
wined3d: Move "wrap_lookup" to struct wined3d_gl_info.
2010-01-04 11:41:28 +01:00
William Waghorn
0c582dca3a
wined3d: Added NVidia GT240 detection.
2010-01-04 11:41:27 +01:00