Matteo Bruni
32787ec0dd
wined3d: Fix draw buffers tracking.
2011-06-22 15:21:43 +02:00
Matteo Bruni
0919ac3b51
wined3d: Fix context_apply_draw_buffers() with backbuffer ORM.
2011-06-22 15:21:36 +02:00
Matteo Bruni
5b67bd4fb2
wined3d: Fix context_apply_blit_state().
2011-06-22 15:21:27 +02:00
Henri Verbeet
42db8e2bfa
wined3d: Make the context parameter to isStateDirty() const.
2011-06-22 11:25:39 +02:00
Henri Verbeet
14bc0e9ef2
wined3d: Invalidate STATE_STREAMSRC when dropping VBOs.
2011-06-22 11:25:34 +02:00
Henri Verbeet
acd8c58725
ddraw: Implement surface private data handling on top of wined3d_resource.
2011-06-22 11:25:27 +02:00
Piotr Pawlow
b5e04640cc
wined3d: Use a separate mutex for wndproc_table access.
...
If CreateDevice is called with hFocusWindow belonging to another thread,
then any code that does SendMessage (or equivalent) to the window while
holding the main wined3d mutex causes a deadlock, because wined3d_wndproc
tries to acquire the same mutex for wndproc_table access.
2011-06-21 16:18:56 +02:00
Henri Verbeet
4582a0bcb3
wined3d: Make the device parameter to device_invalidate_state() const.
2011-06-21 11:25:18 +02:00
Henri Verbeet
233b8e1cf8
wined3d: Fix the STATE_BASEVERTEXINDEX state entry.
2011-06-21 11:25:15 +02:00
Henri Verbeet
265e62378f
wined3d: Validate STATE_BASEVERTEXINDEX in validate_state_table().
2011-06-21 11:25:13 +02:00
Henri Verbeet
430bac5fad
wined3d: Only bother checking block alignment for compressed surfaces in wined3d_device_update_surface().
2011-06-21 11:25:09 +02:00
Henri Verbeet
17eb3e2c74
wined3d: Initialize format block info with sane values for uncompressed formats.
2011-06-21 11:25:06 +02:00
Stefan Dösinger
73cec67c14
wined3d: Link STATE_BASEVERTEXINDEX to STATE_VDECL.
2011-06-20 19:32:02 +02:00
Stefan Dösinger
2daa16c96c
wined3d: Use base_vertex_index in drawStridedSlow, and only for indexed draws.
2011-06-20 19:32:02 +02:00
Henri Verbeet
792060d67f
d3d8: Implement IDirect3DVolumeTexture8 private data handling on top of wined3d_resource.
2011-06-20 11:28:40 +02:00
Henri Verbeet
732338ab35
d3d9: Implement IDirect3DCubeTexture9 private data handling on top of wined3d_resource.
2011-06-20 11:28:22 +02:00
Stefan Dösinger
68b15bc5ff
wined3d: Give GL_ARB_map_buffer_range another try.
...
Nvidia's 270.xx.yy driver series fix the glMapBuffer alignment issues that caused major
performance problems. If the user is using an older driver we now drop the VBO instead of using
doublebuffered loading, which means that we fall back to the current behavior(no dynamic VBO) as
needed. Dynamic VBOs are needed on Nvidia drivers for GL_ARB_instanced_arrays.
2011-06-17 15:37:45 +02:00
Stefan Dösinger
12140b5158
wined3d: Drop the VBO when the GL alignment doesn't fit on dynamic buffers.
2011-06-17 15:37:41 +02:00
Stefan Dösinger
19a1b74252
wined3d: Add STATE_BASEVERTEXINDEX to debug_d3dstate.
2011-06-17 15:37:31 +02:00
Henri Verbeet
37d70103a1
d3d8: Implement IDirect3DIndexBuffer8 private data handling on top of wined3d_resource.
2011-06-17 11:02:43 +02:00
Henri Verbeet
469eba24c0
d3d9: Implement IDirect3DVertexBuffer9 private data handling on top of wined3d_resource.
2011-06-17 11:02:28 +02:00
Henri Verbeet
45a0e95962
wined3d: Only load the surface for partial updates in wined3d_device_update_surface().
2011-06-17 11:02:21 +02:00
Henri Verbeet
3a1d151561
wined3d: Use surface_load_location() instead of surface_internal_preload() in wined3d_device_update_surface().
2011-06-17 11:02:18 +02:00
Henri Verbeet
26eb6c8eea
wined3d: Check the correct debug class in checkGLcall.
2011-06-16 11:16:41 +02:00
Henri Verbeet
4621568922
wined3d: Only invert viewport y for onscreen destinations in surface_depth_blt().
...
This fixes a regression introduced by
032f8702ed
.
2011-06-16 11:16:31 +02:00
Henri Verbeet
c51db63ba4
wined3d: Require ARB_shader_texture_lod for SM3.
2011-06-16 11:16:26 +02:00
Henri Verbeet
6f710d18fc
wined3d: Fix source rectangle validation in wined3d_device_update_surface().
2011-06-16 11:16:19 +02:00
Henri Verbeet
8153674c4a
wined3d: Don't clear the alloc flags in wined3d_surface_set_format().
...
Changing the format is only allowed for surfaces with format
WINED3DFMT_UNKNOWN, in which case there can't be a GL texture allocated.
2011-06-15 20:04:38 +02:00
Henri Verbeet
c19c26e4be
wined3d: Check the source rectangle is a multiple of the format block size in wined3d_device_update_surface().
2011-06-15 12:51:51 +02:00
Henri Verbeet
410a8e86f5
wined3d: Check for a valid source rectangle and destination in wined3d_device_update_surface().
2011-06-15 12:51:50 +02:00
Henri Verbeet
b9133d7de0
wined3d: Implement wined3d_device_update_surface() on top of surface_upload_data().
2011-06-15 12:51:49 +02:00
Stefan Dösinger
a421278625
wined3d: Invalidate STATE_STREAMSRC in wined3d_device_draw_indexed_primitive_up.
2011-06-14 13:43:56 +02:00
Stefan Dösinger
dafd31861a
wined3d: Use GL_ARB_draw_elements_base_vertex if available.
2011-06-14 13:43:56 +02:00
Stefan Dösinger
7de2fa2670
wined3d: Add GL_ARB_draw_elements_base_vertex.
2011-06-14 13:43:56 +02:00
Marcus Meissner
2bcd439818
wined3d: Don't just print a FIXME on error, handle it (Coverity).
2011-06-13 11:30:07 +02:00
Stefan Dösinger
2e3cf68e0b
wined3d: Silence R16 and AL16 fourcc warnings.
2011-06-10 10:45:42 +02:00
Stefan Dösinger
663fac5bcd
wined3d: Set last_was_blit to FALSE in the if condition that checks for it.
2011-06-10 10:45:38 +02:00
Stefan Dösinger
7b39005256
wined3d: Don't check the FBO status if FIXMEs are off.
2011-06-10 10:45:35 +02:00
Henri Verbeet
980c50a087
wined3d: Move PBO handling mostly out of surface_upload_data().
...
Currently we essentially get half of the address from the caller and half from
the destination surface. Since we'd like to use surface_upload_data() for
wined3d_device_update_surface() as well, we should get all of it from the
caller.
2011-06-10 10:44:39 +02:00
Henri Verbeet
a1b8f254b1
wined3d: Get rid of a NULL check for surface_upload_data().
2011-06-10 10:44:32 +02:00
Henri Verbeet
9f3e6a20e8
wined3d: Handle unpack row length inside surface_upload_data().
2011-06-10 10:44:26 +02:00
Henri Verbeet
ee6d550b2e
wined3d: Rename IWineD3DImpl_FillGLCaps() to wined3d_adapter_init_gl_caps().
2011-06-10 10:44:20 +02:00
Henri Verbeet
d5c9523a83
wined3d: Rename IWineD3DDeviceImpl_UpdateVolume() to device_update_volume().
2011-06-10 10:44:17 +02:00
Henri Verbeet
5173f9f05f
wined3d: Rename IWineD3DDeviceImpl_LoadLogo() to device_load_logo().
2011-06-08 14:12:40 +02:00
Henri Verbeet
da125e6bca
wined3d: cfg can never be NULL in wined3d_check_pixel_format_color().
2011-06-08 14:12:40 +02:00
Henri Verbeet
c24c2d1eac
wined3d: Rename IWineD3DImpl_IsPixelFormatCompatibleWithRenderFmt() to wined3d_check_pixel_format_color().
2011-06-08 14:12:40 +02:00
Matteo Bruni
c23a5443c1
wined3d: Simplify context_apply_draw_buffers() a bit.
2011-06-07 18:12:03 +02:00
Matteo Bruni
002674e49d
wined3d: Fix glDrawBuffers() optimization.
2011-06-07 18:12:01 +02:00
Henri Verbeet
be180bed7c
wined3d: cfg can never be NULL in wined3d_check_pixel_format_depth().
2011-06-07 14:18:34 +02:00
Henri Verbeet
fec6137de2
wined3d: Rename IWineD3DImpl_IsPixelFormatCompatibleWithDepthFmt to wined3d_check_pixel_format_depth().
2011-06-07 14:18:34 +02:00
Henri Verbeet
01e668b007
wined3d: Use GL_DEPTH_COMPONENT as internal format for depth_blt_texture.
...
This also changes the texture level to always be zero while we're at it. In
practice depth/stencil textures should rarely have multiple levels, if ever,
but only 0 makes sense here.
2011-06-07 14:18:34 +02:00
Henri Verbeet
95bd0ec61c
wined3d: Just enable ARB_shader_texture_lod if it's available.
2011-06-07 14:18:34 +02:00
Henri Verbeet
1fbdfd625a
wined3d: Get rid of wined3d_texture_get_type().
2011-06-07 14:18:34 +02:00
Henri Verbeet
84ce0020f4
wined3d: Rename Context_MarkStateDirty() to context_invalidate_state().
2011-06-06 16:18:48 +02:00
Henri Verbeet
c8f26a1345
wined3d: Rename IWineD3DDeviceImpl_MarkStateDirty() to device_invalidate_state().
2011-06-06 16:18:41 +02:00
Henri Verbeet
708d94212b
wined3d: Don't clamp vertex depth values.
...
Since we report D3DPMISCCAPS_CLIPTLVERTS.
2011-06-06 16:18:33 +02:00
Matteo Bruni
6647c8f72d
wined3d: Mark some texture formats as filterable.
2011-06-03 12:46:07 +02:00
Piotr Pawłow
bc9407a452
wined3d: Set container of swapchain surfaces to WINED3D_CONTAINER_NONE in swapchain_init() error path.
2011-06-02 16:22:44 +02:00
Stefan Dösinger
5b9daccc66
wined3d: Call context_apply_draw_buffers under the GL lock.
2011-05-27 17:53:37 +02:00
Stefan Dösinger
dda91ac02a
wined3d: Call frag_pipe->enable_extension under the GL lock.
2011-05-26 16:41:14 +02:00
Stefan Dösinger
dbd8786394
wined3d: CMP supports _SAT.
...
This is a partial revert of c9ef1ed28c
. I don't know where I got the
idea that CMP does not support _SAT, but I suspect that my driver at the time was broken.
2011-05-25 12:23:10 +02:00
Henri Verbeet
b396886e5d
wined3d: Get rid of an unintentional variable.
2011-05-25 11:49:33 +02:00
Henri Verbeet
019f6a8534
wined3d: Mask out writes to unused render targets.
...
Outputs not written by the pixel shader are undefined in GL, but in D3D the
render target is unmodified.
2011-05-25 11:49:23 +02:00
Henri Verbeet
d5ee9a4014
wined3d: Check for unhandled resource usage flags.
2011-05-25 11:48:42 +02:00
Henri Verbeet
6d31039034
wined3d: Rename IWineD3DDeviceImpl_FindTexUnitMap() to device_update_tex_unit_map().
2011-05-25 11:48:38 +02:00
Stefan Dösinger
813c273725
wined3d: Fix a few function definitions.
2011-05-24 12:47:28 +02:00
Henri Verbeet
0143fa7382
wined3d: Use the requested sRGB mode in texture3d_preload().
2011-05-19 10:08:05 +02:00
Henri Verbeet
6d6402afef
wined3d: Get rid of the mostly unused SRGB_BOTH enum value.
2011-05-19 10:08:02 +02:00
Henri Verbeet
aba42d1fa5
wined3d: Introduce a separate structure for framebuffer state.
2011-05-19 10:07:57 +02:00
Henri Verbeet
427803a981
wined3d: Make wined3d.h a normal header file again.
2011-05-19 10:07:50 +02:00
Henri Verbeet
3032b40c80
wined3d: Get rid of the IWineD3DDeviceParent interface.
2011-05-19 10:06:21 +02:00
Stefan Dösinger
5c6c019340
wined3d: Remove maxConcurrentLights from the device.
2011-05-18 16:41:57 +02:00
Stefan Dösinger
1133991e85
wined3d: Make two variables unsigned.
2011-05-18 16:41:42 +02:00
Alexandre Julliard
3d229b814e
wined3d: Switch to the software cursor when the position diverges from the hardware one.
2011-05-17 10:18:26 +02:00
Alexandre Julliard
599d09b08c
wined3d: Always create the software cursor.
2011-05-17 10:17:31 +02:00
Alexandre Julliard
38d0d9fe80
wined3d: Only update the cursor position the first time we display it.
2011-05-17 10:15:18 +02:00
Alexandre Julliard
30e187e019
wined3d: Get rid of the haveHardwareCursor flag.
2011-05-17 10:12:31 +02:00
Henri Verbeet
d52ae4b63f
wined3d: Get rid of the glsl_program_key_t typedef.
2011-05-17 10:06:34 +02:00
Henri Verbeet
ef6c6f9ac9
wined3d: Get rid of the renderbuffer_entry_t typedef.
2011-05-17 10:06:30 +02:00
Henri Verbeet
0e0e5c3e38
wined3d: Get rid of the IWineD3DDevice typedefs.
2011-05-17 10:06:23 +02:00
Henri Verbeet
8d4ca1f815
wined3d: Remove COM from the device implementation.
2011-05-17 10:06:18 +02:00
Henri Verbeet
979e3744f7
wined3d: Remove state management methods from the IWineD3DDevice interface.
2011-05-17 10:06:15 +02:00
Stefan Dösinger
e4038ebab9
wined3d: Fix a copypaste typo.
2011-05-16 16:35:30 +02:00
Stefan Dösinger
774cb21a4d
wined3d: Heightscaled surfaces still have an integer size.
2011-05-16 16:35:30 +02:00
Stefan Dösinger
1d7a05cb80
wined3d: Fix data types in RxGx snorm-unorm conversion.
2011-05-16 16:35:30 +02:00
Stefan Dösinger
1b860b11b3
wined3d: Cast clipplane doubles to floats.
2011-05-16 16:35:30 +02:00
Stefan Dösinger
20b147bfeb
wined3d: Consistently store format bitcounts in BYTEs.
2011-05-16 16:35:30 +02:00
Stefan Dösinger
c2aab4258a
wined3d: Separate two unrelated variables.
2011-05-13 17:05:27 +02:00
Stefan Dösinger
560c63d64e
wined3d: Pass the render target height as UINT.
2011-05-13 17:05:27 +02:00
Stefan Dösinger
a549b8f090
wined3d: Fix a few MSVC data loss warnings.
2011-05-13 17:05:27 +02:00
Stefan Dösinger
31901155ce
wined3d: Fix a unsigned unary minus warning in MSVC.
2011-05-13 17:05:27 +02:00
Stefan Dösinger
682bae7c2b
wined3d: Make the glram parameter of WineD3DAdapterChangeGLRam signed.
2011-05-13 17:05:27 +02:00
Henri Verbeet
26dd1ed0e9
wined3d: Get rid of the SHADER_LIMITS typedef.
2011-05-11 14:56:48 +02:00
Henri Verbeet
00a5f38595
wined3d: Remove object creation methods from the IWineD3DDevice interface.
2011-05-11 14:56:48 +02:00
Henri Verbeet
e6ab3832b2
wined3d: Set SFLAG_DYNLOCK for lockable render targets.
2011-05-11 14:56:48 +02:00
Francois Gouget
5920de5ffb
Assorted spelling and case fixes.
2011-05-09 12:09:27 +02:00
Henri Verbeet
0cbdd10c58
wined3d: Get rid of the WineD3D_PixelFormat typedef.
2011-05-06 14:23:46 +02:00
Henri Verbeet
9f90225fa5
wined3d: Get rid of the wined3d_settings_t typedef.
2011-05-06 14:23:46 +02:00
Henri Verbeet
493af7e5c1
wined3d: Introduce a helper function for translating blend factors.
2011-05-06 14:23:46 +02:00
Henri Verbeet
f9f83fc884
wined3d: Add some initial access checking for resources.
...
Just print a WARN in surface_load_location() for the moment. We currently
pretend all resources are managed, strictly enforcing pool restrictions would
just break a lot of things.
2011-05-06 14:23:46 +02:00