Henri Verbeet
6be41fd59a
wined3d: Get rid of GL_LIMITS.
2009-10-22 10:46:05 +02:00
Henri Verbeet
f2aaca2f67
wined3d: Rename WineD3DAdapter to wined3d_adapter.
2009-10-21 16:05:57 +02:00
Henri Verbeet
94d33d3e86
wined3d: Destroy FBO entries from the context that created them.
...
EXT_framebuffer_object doesn't specify if FBOs are shareable between GL
contexts, but ARB_framebuffer_object explicitly prohibits it.
2009-10-20 14:00:37 +02:00
Henri Verbeet
43aaaa8a4b
wined3d: Validate the D3D context in FindContext().
...
Apparently it's valid to use a D3D device after its window is destroyed.
OpenGL isn't always so forgiving, so this patch is a first step to avoid
making GL calls on a context without window.
2009-10-20 14:00:36 +02:00
Henri Verbeet
0cb6f28751
wined3d: Get rid of the useless "isPBuffer" bitfield in struct wined3d_context.
2009-10-20 14:00:36 +02:00
Henri Verbeet
bac6486520
wined3d: Merge some bitfields in struct SAVEDSTATES.
2009-10-14 11:26:44 +02:00
Henri Verbeet
a24d14796a
wined3d: Remove the useless "changed" and "enabledChanged" fields from struct wined3d_light_info.
2009-10-14 11:26:26 +02:00
Henri Verbeet
3bc9d1894d
wined3d: Rename PLIGHTINFOEL to something less awful.
2009-10-14 11:26:17 +02:00
Jeff Zaroyko
a1126242a7
wined3d: Fix prototype for set_texture_matrix.
2009-10-12 17:07:03 +02:00
Henri Verbeet
2be38232ea
wined3d: Remove some unused code.
2009-10-06 12:02:59 +02:00
Henri Verbeet
92d22ce535
wined3d: Move the SM1 opcode enum to shader_sm1.c.
2009-10-06 12:02:52 +02:00
Henri Verbeet
8b3f868774
wined3d: Move the pixel/vertex states arrays to stateblock.c.
2009-10-02 11:53:03 +02:00
Henri Verbeet
a84974e2ea
wined3d: Fix the values of NUM_SAVEDPIXELSTATES_T and NUM_SAVEDVERTEXSTATES_R.
2009-10-02 11:52:54 +02:00
Henri Verbeet
be0b7355fc
wined3d: Add a separate function for initializing the "contained_*" fields from the "changed" field.
2009-09-30 14:31:59 +02:00
Henri Verbeet
664057ce6a
wined3d: Add a separate function for state block initialization.
2009-09-29 14:22:34 +02:00
Henri Verbeet
6a7b97b617
wined3d: Fix a typo.
2009-09-29 14:22:34 +02:00
Stefan Dösinger
404aecb8da
wined3d: Test if result.clip[] works correctly.
...
The Mac Nvidia driver doesn't implement the result.clip part of
GL_NV_vertex_program2_option correctly. It complains about a syntax
error if "result.clip[0]" is used. "result.clip" compiles correctly, but
supports only one clipplane, and running the shader results in severe
rendering bugs.
2009-09-28 17:33:07 +02:00
Henri Verbeet
f88c6e5ce5
wined3d: Move common shader fields to IWineD3DBaseShaderClass.
2009-09-25 15:14:35 +02:00
Henri Verbeet
789372afa8
wined3d: Don't free D3D pixel shaders until the wined3d pixel shader is destroyed.
2009-09-24 13:24:53 +02:00
Henri Verbeet
8aea1b1302
wined3d: Add a separate function for pixel shader initialization.
2009-09-24 13:24:27 +02:00
Henri Verbeet
ca05ef5dd0
wined3d: Don't free D3D vertex shaders until the wined3d vertex shader is destroyed.
2009-09-24 13:24:19 +02:00
Henri Verbeet
462decdfb9
wined3d: Add a separate function for vertex shader initialization.
2009-09-24 13:23:51 +02:00
Henri Verbeet
5ac3ed7f73
wined3d: Remove unused IWineD3DVertexShaderImpl fields.
2009-09-24 13:23:44 +02:00
Stefan Dösinger
5b5e3bd0d2
wined3d: Track GL texture states in a separate structure.
2009-09-23 13:24:16 +02:00
Henri Verbeet
66a7236590
wined3d: Don't free D3D vertex declarations until the wined3d vertex declaration is destroyed.
2009-09-23 12:36:28 +02:00
Henri Verbeet
5b8b97a737
wined3d: Cleanup vertex declaration initialization.
2009-09-22 16:17:20 +02:00
Henri Verbeet
dbc4dfc495
wined3d: Move "parent_ops" to IWineD3DResourceClass.
2009-09-18 08:55:33 -05:00
Henri Verbeet
93b0600829
wined3d: Don't free D3D buffers until the wined3d buffer is destroyed.
2009-09-18 08:55:25 -05:00
Henri Verbeet
22124bc5cb
wined3d: Add a separate function for buffer initialization.
2009-09-18 08:54:44 -05:00
Henri Verbeet
a8e8f763bf
wined3d: Don't free D3D textures until the wined3d texture is destroyed.
2009-09-18 08:54:34 -05:00
Henri Verbeet
de3bd86fb6
wined3d: Don't free D3D cube textures until the wined3d cube texture is destroyed.
2009-09-17 10:09:44 -05:00
Henri Verbeet
a286646f51
wined3d: Don't free D3D volume textures until the wined3d volume texture is destroyed.
2009-09-16 13:06:06 -05:00
Henri Verbeet
83b3d4f27a
wined3d: Move vtable initialization to the texture init functions.
2009-09-16 13:05:45 -05:00
Henri Verbeet
e9000d2e6c
wined3d: Don't free D3D volumes until the wined3d volume is destroyed.
2009-09-16 13:05:20 -05:00
Henri Verbeet
2b2d3de025
wined3d: Add a separate function for volume initialization.
2009-09-16 13:04:47 -05:00
Henri Verbeet
a5214c306f
wined3d: Don't free D3D surfaces until the wined3d surface is destroyed.
...
This prevents for example a d3d9 depth stencil from being destroyed when it
has no external references but is still in use by the device/stateblock. A
nice side effect is that it simplifies handling of "implicit" surfaces like
the frontbuffer and backbuffers, as well as the forwarding of reference counts
for surfaces that are part of a texture.
2009-09-16 13:04:32 -05:00
Henri Verbeet
689984b425
wined3d: Mark internal symbols hidden.
2009-09-15 14:32:49 -05:00
Henri Verbeet
2b2fc827ce
wined3d: Remove unused parameters to drawPrimitive().
2009-09-11 12:09:14 +02:00
Stefan Dösinger
e1469961d4
wined3d: Test and fix ddraw and d3d9 GetDC differences.
...
The MSDN is not totally correct: A8R8G8B8 and A1R5G5B5 also allow GetDC. The
main differences that have to be filtered out in d3d9.dll are GetDC on
A8B8G8R8, X8B8G8R8 and P8.
2009-09-08 13:04:52 +02:00
Stefan Dösinger
531ec2267b
wined3d: Allow filtering on RECT textures.
...
There is no reason to disable linear filtering, we just cannot use mipmapping.
2009-08-31 12:18:01 +02:00
Henri Verbeet
560d63548d
wined3d: Remove trailing spaces.
2009-08-27 11:45:37 +02:00
Stefan Dösinger
21f4e42a98
wined3d: Don't use WINED3DADAPTER_DEFAULT as refresh rate.
2009-08-26 14:35:33 +02:00
Henri Verbeet
0c4201d5fd
wined3d: Properly check if an attribute is used in TRACE_STRIDED.
2009-08-21 11:12:01 +02:00
Henri Verbeet
92b66ac82c
wined3d: Make use_vs() safe to call from IWineD3DDeviceImpl_FindTexUnitMap().
2009-08-19 14:45:02 +02:00
Henri Verbeet
d900491310
wined3d: Replace find_clip_texcoord() with a generic function for finding a free input register.
2009-08-17 13:57:50 +02:00
Henri Verbeet
ecd2dc7603
wined3d: Make RTL_READTEX the default rendertarget locking method.
...
For most cards this should make more sense than RTL_READDRAW, even if e.g.
surface_upload_data() has some room for improvement.
2009-08-14 13:59:09 +02:00
Henri Verbeet
f7918b978f
wined3d: Make the "luminanceparams" shader_reg_maps member a bitmap.
2009-08-12 13:22:50 +02:00
Henri Verbeet
95bb4c0486
wined3d: Make the "bumpmat" shader_reg_maps member a bitmap.
2009-08-12 13:22:44 +02:00
Henri Verbeet
3d718d6414
wined3d: Make the "labels" shader_reg_maps member a bitmap.
2009-08-12 13:22:37 +02:00
Henri Verbeet
270f57e755
wined3d: Make the "address" shader_reg_maps member a bitmap.
2009-08-12 13:22:30 +02:00
Henri Verbeet
6fa9fa15da
wined3d: Make the "temporary" shader_reg_maps member a bitmap.
2009-08-11 12:36:20 +02:00
Henri Verbeet
50853e295b
wined3d: Make the "texcoord" shader_reg_maps member a bitmap.
2009-08-11 12:36:16 +02:00
Henri Verbeet
a282380f08
wined3d: Fix the type of the shader_reg_maps bitfields.
2009-08-11 12:36:12 +02:00
Henri Verbeet
cbd555bbc9
wined3d: Get rid of the unused vbo_mode setting.
2009-08-10 13:53:11 +02:00
Henri Verbeet
8d746c31ba
wined3d: Properly handle negative loop step in shader_glsl_loop().
2009-08-10 13:52:37 +02:00
Roderick Colenbrander
5a00c8053e
wined3d: Get rid of two dead render target lock mode options.
2009-08-10 13:10:49 +02:00
Henri Verbeet
3bf0ad4528
wined3d: Explicitly pass the context to the shader_select() handler.
2009-08-07 12:11:06 +02:00
Henri Verbeet
03686cb6bd
wined3d: Explicitly pass the context to the shader_load_constants() handlers.
2009-08-06 17:26:30 +02:00
Henri Verbeet
a7251f0f4e
wined3d: Track render_offscreen in the context.
...
This makes sure the relevant states in FindContext() are actually marked dirty
when needed.
2009-08-06 17:26:30 +02:00
Henri Verbeet
9e8f7898c9
wined3d: Get rid of the ANISOTROPIC entry from the filter lookup tables.
...
Anisotropy and texture filters are orthogonal in GL. In D3D
D3DTEXF_ANISOTROPIC just selects the best (linear) filter type and enables
anisotropy.
2009-08-05 11:20:36 +02:00
Henri Verbeet
351d6de818
wined3d: Add functions to lookup texture filters.
2009-08-05 11:20:09 +02:00
Henri Verbeet
0f161dc10f
wined3d: Remove some unused code.
2009-08-05 11:19:59 +02:00
Henri Verbeet
d4159adbc8
wined3d: Statically initialize the filter lookup tables.
...
Also add some comments.
2009-08-04 13:04:23 +02:00
Henri Verbeet
da1e5573da
wined3d: Rename WineD3DContext to struct wined3d_context.
2009-08-03 15:01:48 +02:00
Henri Verbeet
be536ebe2f
wined3d: Get rid of activeContext.
2009-07-24 13:10:57 +02:00
Henri Verbeet
c8fe24d29e
wined3d: Explicitly pass the context to surface_load_ds_location().
2009-07-24 13:10:47 +02:00
Henri Verbeet
2c71b85334
wined3d: Explicitly pass the context to get_drawable_size().
2009-07-24 13:10:37 +02:00
Henri Verbeet
fb77678e9f
wined3d: Manage event queries in the context.
2009-07-24 13:10:28 +02:00
Henri Verbeet
4ab7af6575
wined3d: Manage occlusion queries in the context.
2009-07-24 13:10:19 +02:00
Henri Verbeet
ea2caa9ba1
wined3d: Return the activated context from ActivateContext().
2009-07-23 11:22:22 +02:00
Henri Verbeet
9253bbcb05
wined3d: Get rid of last_device.
2009-07-23 11:22:13 +02:00
Henri Verbeet
ce436a76e2
wined3d: Get rid of getActiveContext().
2009-07-22 14:42:50 +02:00
Henri Verbeet
377cda97e7
wined3d: Avoid destroying contexts that are current in another thread.
2009-07-22 14:42:50 +02:00
Henri Verbeet
1a43030664
wined3d: Keep track of a thread's wined3d context.
2009-07-22 14:42:50 +02:00
Henri Verbeet
c114b04016
wined3d: Remove the useless lastThread field from IWineD3DDeviceImpl.
2009-07-21 14:23:06 +02:00
Henri Verbeet
2d7500600b
wined3d: Get rid of lastActiveRenderTarget.
2009-07-21 14:23:02 +02:00
Henri Verbeet
6c0c1671b2
wined3d: Keep track of a context's current render target.
2009-07-21 14:22:49 +02:00
Henri Verbeet
e6f55c2650
wined3d: Remove an unused struct member.
2009-07-20 13:35:15 +02:00
Henri Verbeet
a80247f58b
wined3d: Avoid redundant FBO binds.
...
Apparently this is an expensive operation for certain drivers, even if the
binding doesn't actually change.
2009-07-17 11:22:07 +02:00
Henri Verbeet
7485173849
wined3d: Pass the context instead of the device to the various context functions.
2009-07-17 11:22:07 +02:00
Henri Verbeet
a01616a6c3
wined3d: Store a pointer to wined3d_gl_info in struct WineD3DContext.
2009-07-17 11:22:07 +02:00
Henri Verbeet
43e6686a78
wined3d: Rename _WineD3D_GL_Info to struct wined3d_gl_info.
2009-07-17 11:22:07 +02:00
Henri Verbeet
d6ffe00cd2
wined3d: Recognize the SM4 constant buffer register type.
2009-07-16 16:03:28 +02:00
Henri Verbeet
c4f8845bc9
wined3d: Recognize SM4 arrays.
...
This is for SM4 constant buffers, which look like cb<x>[<y>]. At some later
point we should probably translate pre-SM4 constants to constant buffers.
2009-07-16 16:03:23 +02:00
Stefan Dösinger
6a04c2d5cc
wined3d: Don't call glGetError if nobody is listening.
2009-07-16 11:15:40 +02:00
Stefan Dösinger
8a6553da14
wined3d: Only use 4 component specular colors if GL allows it.
2009-07-10 13:07:33 +02:00
Henri Verbeet
69b7612265
wined3d: Get rid of struct glDescriptor.
...
In general it might not be a bad idea to group GL specific data into a
separate struct, but IWineD3DSurfaceImpl is currently the only thing that
bothers. It doesn't get it quite right either, since e.g. the PBO isn't in
glDescriptor either.
2009-07-10 12:13:24 +02:00
Henri Verbeet
9cf7888002
wined3d: Fix some cast-qual warnings.
2009-07-09 11:38:07 +02:00
Henri Verbeet
483d552e21
wined3d: Allow shader_buffer_init() to fail.
2009-07-09 11:38:02 +02:00
Henri Verbeet
40b411958b
wined3d: Rename "SHADER_BUFFER" to something sane.
2009-07-09 11:37:58 +02:00
Henri Verbeet
bddc4d3f0d
wined3d: Reuse the shader buffer between shaders.
2009-07-09 11:37:53 +02:00
Henri Verbeet
e41831990d
wined3d: Fix a sign compare warning in glsl_shader.c.
2009-07-08 20:14:35 +02:00
Henri Verbeet
2ac34bf231
wined3d: Add some missing float suffixes.
...
The compiler should be smart enough to fix most of these, but it looks sloppy.
2009-07-07 11:50:05 +02:00
Henri Verbeet
50e9ad66e2
wined3d: Clear the last device in WineD3D_CreateFakeGLContext().
2009-07-02 12:00:44 +02:00
Henri Verbeet
40bc47901c
wined3d: Use flags for driver quirks.
2009-07-01 11:41:44 +02:00
Stefan Dösinger
5859d87754
wined3d: Implement function calls with NV exts.
2009-06-29 12:28:21 +02:00
Stefan Dösinger
bd14b6e2b4
wined3d: IFC requires GL_NV_fragment_program2.
2009-06-26 12:01:44 +02:00
Tobias Jakobi
7906774339
wined3d: Add ps_np2fixup_info structure.
2009-06-25 14:34:13 +02:00
Stefan Dösinger
85af0b2943
wined3d: Don't emulate clipplanes with ffp vp and fix a wrong if condition.
...
b2f09fd204
accidentally got the
device->vs_clipping check wrong. The FFP replacement should emulate
clipping if GL can't do this natively with vertex shaders, not the
other way. Also don't emulate clipping if we're using fixed function
vertex processing because (a) clipping is always supported by GL in
this case, and (b), fragment.texcoord[7] is undefined. (Or in the
worst case set to something bad by the app).
2009-06-23 15:53:00 +02:00
Stefan Dösinger
26d17fe04c
wined3d: Implement MRTs in ARB.
2009-06-22 11:26:43 +02:00