Henri Verbeet
2a0463ac21
wined3d: Only filter redundant mode changes in wined3d.
2012-06-20 19:26:56 +02:00
Henri Verbeet
a6ffab3bf5
wined3d: Rename WINED3DLOCK_* to WINED3D_MAP_*.
2012-06-18 17:48:56 +02:00
Henri Verbeet
befdbbd90f
wined3d: Reset render target bindings in wined3d_device_reset().
2012-06-18 17:48:21 +02:00
Henri Verbeet
130f232d20
wined3d: Unset the depth/stencil surface before checking resources in wined3d_device_reset().
2012-06-18 17:48:16 +02:00
Thomas Faber
a6510b3fbc
wined3d: Use INFINITY.
2012-06-18 11:59:41 +02:00
Michael Stefaniuc
db5053c950
wined3d: Avoid sizeof on structs with variable length arrays.
2012-06-13 12:09:36 +02:00
Henri Verbeet
0610d1eec9
wined3d: Invalidate the entire buffer on maps with WINED3DLOCK_DISCARD.
2012-06-12 17:27:43 +02:00
Henri Verbeet
611b541f29
wined3d: Set undefined vertex attributes to 0.0.
2012-06-12 17:27:39 +02:00
Francois Gouget
4f17081652
wined3d: Make some surface functions static.
2012-06-12 11:11:16 +02:00
Francois Gouget
9a874aca8e
wined3d: Reorder some surface functions to avoid the need for forward declarations.
2012-06-12 11:11:12 +02:00
Francois Gouget
19ba80e7c2
wined3d: We must include Wine's port.h before using NAN.
2012-06-01 17:41:52 +02:00
Henri Verbeet
948065a52f
wined3d: Update nouveau card info.
2012-05-31 18:05:08 +02:00
Henri Verbeet
1a93983bd4
wined3d: Use NAN.
2012-05-30 17:17:59 +02:00
Kimmo Myllyvirta
d738e6ffd2
wined3d: Add NVIDIA GeForce GTX 680.
2012-05-29 10:53:44 +02:00
Henri Verbeet
aa71065d9b
wined3d: Properly preload index buffers.
2012-05-29 10:44:50 +02:00
Karsten Elfenbein
9d7a39656a
wined3d: Add Nvidia GTX 670.
2012-05-22 18:08:24 +02:00
Henri Verbeet
e3ecfa5974
wined3d: Store user clip planes as 4-component float vectors.
2012-05-22 18:07:02 +02:00
Henri Verbeet
481514eab2
wined3d: Get rid of the conv_mat macro.
2012-05-22 18:06:54 +02:00
Henri Verbeet
69bdff6253
wined3d: Avoid moving buffers while they're mapped.
2012-05-22 18:06:51 +02:00
Henri Verbeet
0d45d50342
wined3d: Don't evict resources that are currently mapped in wined3d_device_evict_managed_resources().
2012-05-21 21:31:02 +02:00
Henri Verbeet
5ec56c9bc4
wined3d: Get rid of SFLAG_LOCKED.
2012-05-21 21:30:56 +02:00
Henri Verbeet
f2fb3f11f9
wined3d: Move the resource map count field up to wined3d_resource.
2012-05-21 21:30:52 +02:00
Francois Gouget
fac36c55e9
Assorted typo, spelling, wording and case fixes.
2012-05-15 16:26:43 +02:00
Henri Verbeet
a331ed032e
wined3d: Properly check for transformed position in buffer_check_attribute().
2012-05-03 23:45:21 +02:00
Henri Verbeet
6b9018ccd2
wined3d: Use the wined3d_matrix structure for the identity matrix.
2012-05-03 23:45:09 +02:00
Henri Verbeet
29893d8162
wined3d: Determine index buffer location based on vertex buffer locations.
2012-05-03 11:18:03 +02:00
Henri Verbeet
9267148705
wined3d: The wined3d object doesn't need a parent.
2012-05-03 11:18:00 +02:00
Alexandre Julliard
c054d7bc6f
wined3d: CreateDIBSection doesn't need a DC for the DIB_RGB_COLORS case.
2012-05-02 12:02:33 +02:00
Henri Verbeet
a8a201cf61
wined3d: Figure out the index data pointer inside drawPrimitive().
...
We want to do this after context_apply_draw_state(), when resource locations
are all setup.
2012-05-02 11:59:14 +02:00
Henri Verbeet
64e41dae8a
wined3d: Figure out the index size inside drawPrimitive().
2012-05-02 11:59:10 +02:00
Henri Verbeet
42b835754b
wined3d: Keep track of "all_vbo" in the stream info structure.
2012-05-01 14:44:15 +02:00
Henri Verbeet
de43de510a
wined3d: Move the resource bind_count field up to wined3d_resource.
2012-04-26 19:26:14 +02:00
Henri Verbeet
49c4623b2f
wined3d: device_clear_render_targets() never fails.
2012-04-16 12:05:15 +02:00
Henri Verbeet
3ba95e2f3e
wined3d: Move the present() back buffer check to the common wined3d_swapchain_present() code.
2012-04-16 12:05:09 +02:00
Henri Verbeet
8cef8b3587
wined3d: Unify the wined3d_mapped_rect and wined3d_mapped_box structures.
2012-04-13 10:48:51 +02:00
Henri Verbeet
cd0c18f56b
wined3d: Simplify the data.buffer_object assignment in surface_load_texture().
...
The surface pbo field should be 0 is SFLAG_PBO is not set.
2012-04-09 12:02:47 +02:00
Henri Verbeet
baff64a27a
wined3d: Properly determine the viewport size for front buffer blits in SetupForBlit().
2012-04-05 11:56:19 +02:00
Henri Verbeet
12369f9f4d
wined3d: Fix the VBO check in device_stream_info_from_declaration().
2012-03-29 20:49:14 +02:00
Henri Verbeet
7017ed4587
wined3d: Drop a questionable FIXME in device_stream_info_from_declaration().
2012-03-29 20:49:13 +02:00
Henri Verbeet
c7d3a8a478
wined3d: Drop the "vbo" check in wined3d_device_process_vertices().
...
We care about individual streams having a VBO or not, and there's no way for
device_stream_info_from_declaration() to properly express that, so just check
the individual streams.
2012-03-29 20:49:13 +02:00
Matteo Bruni
7e3c7840e3
wined3d: Support WINED3D_TTFF_COUNT3 texture projection in the ARB backend.
2012-03-28 15:09:18 +02:00
Matteo Bruni
439097c810
wined3d: Update the correct draw buffers mask.
2012-03-28 15:09:09 +02:00
Henri Verbeet
426535a7dd
wined3d: Recognise AMD HD 6770M and HD 6750M with closed drivers.
2012-03-28 11:36:46 +02:00
Henri Verbeet
00a4011425
wined3d: Drop the ORM_BACKBUFFER special case in surface_unmap().
2012-03-27 11:39:26 +02:00
Henri Verbeet
d1e00648ff
wined3d: Only update the drawable on surface unmap for the frontbuffer.
2012-03-27 11:39:23 +02:00
Henri Verbeet
6f8b8bda2d
wined3d: Load the backbuffer in the correct location before presenting in swapchain_gl_present().
2012-03-27 11:39:19 +02:00
Henri Verbeet
337b63d878
wined3d: Drop an Apple hack.
...
The hack actually breaks things on cards that do support more than 256
uniforms in GLSL.
2012-03-27 11:39:13 +02:00
Henri Verbeet
a0264eb101
wined3d: Move the WGL extension detection code to the same place as regular GL extension detection.
2012-03-16 11:08:59 +01:00
Henri Verbeet
bb08fafdf0
wined3d: Use the same code for parsing the WGL extension string as for the regular GL extension string.
2012-03-16 11:08:54 +01:00
Henri Verbeet
00ba167c71
wined3d: Introduce a separate function for parsing the GL extension string.
2012-03-16 11:08:49 +01:00
Henri Verbeet
02ae22d984
wined3d: The current WGL DC should never be NULL in wined3d_adapter_init_gl_caps().
2012-03-16 11:08:42 +01:00
Henri Verbeet
6396ad9e45
wined3d: GL_MAX_TEXTURE_COORDS_ARB is not available without ARB_fragment_program.
2012-03-12 10:44:01 +01:00
Henri Verbeet
112e2e219f
wined3d: Also recognise the "classic" Mesa Nouveau driver for GeForce 4 and earlier cards.
2012-03-12 10:44:00 +01:00
Henri Verbeet
ab4474c19b
wined3d: surface_cpu_blt() should always receive valid source and destination rectangles.
2012-03-12 10:44:00 +01:00
Henri Verbeet
29468906bb
wined3d: Pass correctly offset pointers to surface_cpu_blt_compressed().
...
This was debugged by Alexey Loukianov.
2012-03-12 10:43:59 +01:00
Matteo Bruni
4ed605f081
wined3d: Clamp fog coordinate in the ARB backend too.
2012-03-09 17:26:01 +01:00
Matteo Bruni
2d810bdc89
wined3d: Clamp fog coordinate in the vertex shader.
2012-03-09 17:25:57 +01:00
Henri Verbeet
06aab27197
wined3d: Remove a texture dimension check in state_alpha().
...
I don't think there's any reason color-keying shouldn't work on e.g. cube
textures, although it probably isn't very common either.
2012-03-09 11:32:22 +01:00
Henri Verbeet
6eb5c891ac
wined3d: Use ARB_texture_rg for WINED3DFMT_R16G16_UNORM textures when available.
2012-03-09 11:32:16 +01:00
Henri Verbeet
b8a22ebef0
wined3d: Remove an outdated comment from load_vertex_data().
2012-03-08 17:58:02 +01:00
Henri Verbeet
3d5ca7ab64
wined3d: Remove an outdated comment in state_zwritenable().
...
We actually do have tests for this.
2012-03-08 17:57:58 +01:00
Henri Verbeet
6d483c2d9d
wined3d: Don't use floating point for surface height scaling.
...
This is the follow-up to commit a4e5bcff4c
.
2012-03-08 17:57:54 +01:00
Henri Verbeet
639ea0f49c
wined3d: Remove a transformed vertex loading hack in load_vertex_data().
...
This should never be used, we fall back to drawStridedSlow() for transformed vertices.
2012-03-08 17:57:46 +01:00
Henri Verbeet
90739d9474
wined3d: Implement resetting the device window in wined3d_device_reset().
2012-02-29 20:47:29 +01:00
Henri Verbeet
9c25758656
wined3d: Support color keyed WINED3DFMT_B8G8R8A8_UNORM surfaces.
...
Color keying and alpha channels aren't mutually exclusive.
2012-02-29 10:31:09 +01:00
Henri Verbeet
d17f037fb1
wined3d: Disable z-clipping for transformed vertices when WINED3D_RS_ZENABLE is disabled.
2012-02-24 09:55:52 +01:00
Gaurav Jain
b2eadfd4eb
wined3d: Recognize Nvidia GeForce 320M, 8600M GT & 9400M.
2012-02-22 20:49:11 +01:00
Henri Verbeet
80555d2cb8
wined3d: Specify the depth range in surface_depth_blt().
2012-02-22 18:47:30 +01:00
Henri Verbeet
ed47f259bd
wined3d: Don't take the wined3d mutex during WM_DISPLAYCHANGE either.
2012-02-21 11:30:10 +01:00
Henri Verbeet
a4e5bcff4c
wined3d: Use a format flag instead of a floating point comparison to determine if we need to apply heightscale.
2012-02-13 20:20:08 +01:00
Henri Verbeet
56a4680b69
wined3d: Complain when the hardware may not be able to run a shader.
2012-02-06 10:19:30 -06:00
Matteo Bruni
b51a657626
wined3d: Use a separate flag for discarded surfaces.
2012-02-02 15:18:09 +01:00
Henri Verbeet
348c655b5c
wined3d: Make sure transparent hardware cursors are really transparent.
...
Loosely based on a patch by Stefan Dösinger.
2012-01-27 14:57:55 +01:00
Henri Verbeet
faa040cd9e
wined3d: Clear the device if we're not removing the entry from the table in wined3d_unregister_window().
...
The device may be destroyed after the window is unregistered, causing
device_process_message() to access freed memory.
2012-01-26 17:43:50 +01:00
Henri Verbeet
d0347f51ed
wined3d: Only take the wined3d mutex during the WM_DISPLAYCHANGE handler in device_process_message().
...
We can deadlock if we send messages while holding the wined3d mutex and the
message loop is on another thread. Ideally we probably shouldn't send messages
while holding the wined3d mutex at all, but that may be hard to enforce with
the way wined3d locking is currently set up.
2012-01-25 11:25:04 +01:00
Matteo Bruni
f69f2aa347
wined3d: SM1 texture projection always divides by w when there is a vertex shader set.
2012-01-24 11:55:47 +01:00
Henri Verbeet
41c910d5f0
wined3d: Get rid of the vertex buffer conversion hack in process_vertices_strided().
...
The main thing that's broken is the unnecessary color conversion in case bgra
vertex arrays are supported. It shouldn't be hard to fix that, but at this
point I don't think this hack even helps a lot anymore.
2012-01-24 11:55:33 +01:00
Stefan Dösinger
038e308a41
wined3d: Relax depth blit requirements.
2012-01-23 16:06:55 +01:00
Henri Verbeet
1ec21e323b
wined3d: Rename WineD3DRectPatch to wined3d_rect_patch.
2012-01-20 13:31:36 +01:00
Henri Verbeet
3769afa33d
wined3d: Get rid of the WINED3DSURFTYPE typedef.
2012-01-20 13:31:33 +01:00
Henri Verbeet
d8b00ecf34
wined3d: Get rid of the CONVERT_TYPES typedef.
2012-01-20 13:31:24 +01:00
Henri Verbeet
8692ff48a9
wined3d: Don't load the draw_binding location in surface_unmap() unless the surface is on a swapchain.
...
It really makes no sense to do this just because a surface happens to be the
current render target. In particular, this patch prevents needlessly bouncing
the surface between the CPU and the GPU when the application does e.g.
multiple colorkeyed blits to the current render target to draw a HUD.
2012-01-20 13:31:17 +01:00
Henri Verbeet
d1254eddb5
wined3d: Properly enable / disable register combiners.
2012-01-20 13:31:07 +01:00
Matteo Bruni
cf5bc7a711
wined3d: Dirtify STATE_FRAMEBUFFER after a FBO depth blit.
2012-01-19 17:08:09 +01:00
Henri Verbeet
bee9adbd05
wined3d: Get rid of the WINED3DDECLUSAGE typedef.
2012-01-19 11:56:47 +01:00
Henri Verbeet
c35c30fa68
wined3d: Get rid of the WINED3DDECLMETHOD typedef.
2012-01-19 11:56:41 +01:00
Henri Verbeet
d0d094dea2
wined3d: Respect SFLAG_PIN_SYSMEM when creating a surface DIB section.
2012-01-19 11:56:30 +01:00
Henri Verbeet
e1cd2453b9
wined3d: Get rid of the mostly unused blockType field in struct wined3d_stateblock.
2012-01-19 11:56:00 +01:00
Akihiro Sagawa
bd97589dba
wined3d: Let GetRasterStatus return D3D_OK, again.
2012-01-19 11:55:48 +01:00
Henri Verbeet
ed417a6f13
wined3d: Get rid of the WINED3DSTATEBLOCKTYPE typedef.
2012-01-18 12:37:38 +01:00
Henri Verbeet
ae2e5d65ff
wined3d: Get rid of the WINED3DQUERYTYPE typedef.
2012-01-18 12:37:38 +01:00
Henri Verbeet
e53a277305
wined3d: Get rid of the WINED3DPOOL typedef.
2012-01-18 12:37:38 +01:00
Henri Verbeet
6a5a098b23
wined3d: Get rid of the WINED3DRESOURCETYPE typedef.
2012-01-18 12:37:38 +01:00
Henri Verbeet
c70e17e806
wined3d: Reset the changed float shader constants in stateblock_init_default_state().
...
The GLSL constant tracking needs these to be correct.
2012-01-18 12:37:37 +01:00
Henri Verbeet
59df293640
wined3d: Don't print an ERR if the depth/stencil surface still has references in wined3d_device_uninit_3d().
...
This is completely legitimate in ddraw.
2012-01-18 12:37:37 +01:00
Austin English
fe30990e8d
wined3d: Recognize Nvidia 540M.
2012-01-17 11:52:26 +01:00
Francois Gouget
cbc7a0361e
wined3d: Add a trailing '\n' to a FIXME() message.
2012-01-16 12:45:34 +01:00
Henri Verbeet
e70990041b
wined3d: Get rid of the WINED3DTEXTUREFILTERTYPE typedef.
2012-01-13 17:34:31 +01:00
Henri Verbeet
a206f43648
wined3d: Get rid of wined3d_surface_set_format().
2012-01-13 17:34:30 +01:00
Henri Verbeet
afb64506ba
ddraw: Implement width and height changes in ddraw_surface7_SetSurfaceDesc().
2012-01-13 17:34:30 +01:00
Matteo Bruni
c6c5c6905e
wined3d: Handle discarded depth-stencil surfaces with SFLAG_LOST.
...
SFLAG_INSYSMEM is already set by surface_add_dirty_rect() for all
surfaces anyway.
2012-01-13 17:34:30 +01:00
Matteo Bruni
cbf641e9e0
wined3d: Modify depth-stencil location flags only after allocating the new location.
2012-01-13 17:34:30 +01:00
Matteo Bruni
add5916c77
wined3d: Set depth textures dirty after modifying the underlying surface.
2012-01-13 17:34:30 +01:00
Henri Verbeet
7dac3e0921
wined3d: Get rid of the WINED3DBASISTYPE typedef.
2012-01-12 12:37:24 +01:00
Henri Verbeet
f38e94af7c
wined3d: Get rid of the WINED3DTRANSFORMSTATETYPE typedef.
2012-01-12 12:37:18 +01:00
Henri Verbeet
be3a9b5ecb
wined3d: Hold the wined3d mutex in device_process_message().
2012-01-12 12:35:50 +01:00
Diego Nieto Cid
759bad0202
wined3d: Convert rtInternal and glGammaInternal.
2012-01-11 19:42:50 +01:00
Henri Verbeet
2650ba4b17
wined3d: Get rid of the WINED3DTEXTUREADDRESS typedef.
2012-01-11 17:47:23 +01:00
Henri Verbeet
b6431d9493
wined3d: Get rid of the WINED3DTEXTUREOP typedef.
2012-01-11 17:47:22 +01:00
Henri Verbeet
b55e3d82cf
wined3d: Set SFLAG_PIN_SYSMEM when the application tries to use surfaces that are currently mapped.
2012-01-11 12:32:55 +01:00
Matteo Bruni
1c14c0d2fc
wined3d: Don't use separate location flags for depth buffers.
2012-01-10 10:48:26 +01:00
Matteo Bruni
e4c0d6abbe
wined3d: Don't try to remove the location flag if it's not there in the first place.
2012-01-10 10:48:13 +01:00
Henri Verbeet
7f7bc520b6
wined3d: Get rid of the WINED3DTEXTURETRANSFORMFLAGS typedef.
2012-01-10 10:47:30 +01:00
Henri Verbeet
43fcbcb36e
wined3d: Get rid of the WINED3DTEXTURESTAGESTATETYPE typedef.
2012-01-10 10:47:27 +01:00
Henri Verbeet
40e8d85426
wined3d: Simplify transform flag handling in find_ps_compile_args().
2012-01-10 10:47:17 +01:00
Henri Verbeet
9a8491045e
wined3d: Get rid of the WINED3DMULTISAMPLE_TYPE typedef.
2012-01-09 12:22:17 +01:00
Henri Verbeet
08545dc739
wined3d: Get rid of the WINED3DSAMPLERSTATETYPE typedef.
2012-01-09 12:22:12 +01:00
Henri Verbeet
f1e2c5df93
wined3d: Only flip SFLAG_DIBSECTION once in flip_surface().
...
We already swap all flags at a later point in flip_surface().
2012-01-09 12:22:03 +01:00
Henri Verbeet
de807eb21c
wined3d: Allow 10-bpc formats as render targets.
2012-01-09 12:21:53 +01:00
Henri Verbeet
3d33887c2f
wined3d: Get rid of the WINED3DSWAPEFFECT typedef.
2012-01-06 19:24:22 +01:00
Henri Verbeet
45f6def784
wined3d: Get rid of the WINED3DBACKBUFFER_TYPE typedef.
2012-01-06 19:24:21 +01:00
Henri Verbeet
c77b414787
wined3d: Get rid of the WINED3DPATCHEDGESTYLE typedef.
2012-01-05 20:54:25 +01:00
Henri Verbeet
c3cc92e472
wined3d: Get rid of the WINED3DMATERIALCOLORSOURCE typedef.
2012-01-05 20:54:24 +01:00
Henri Verbeet
fd8597b2bf
wined3d: Get rid of the WINED3DSTENCILOP typedef.
2012-01-03 23:40:50 +01:00
Henri Verbeet
808e926783
wined3d: Get rid of the WINED3DCULL typedef.
2012-01-03 23:40:46 +01:00
Henri Verbeet
a03eeb5cac
wined3d: Get rid of the WINED3DFILLMODE typedef.
2012-01-03 12:37:31 +01:00
Henri Verbeet
16e9d728f4
wined3d: Get rid of the WINED3DSHADEMODE typedef.
2012-01-03 12:37:30 +01:00
Henri Verbeet
51d54a909c
wined3d: Recognize some more Intel GPUs.
2012-01-03 12:37:29 +01:00
Henri Verbeet
1a3aabf6f2
wined3d: Recognize i915g as Intel.
2012-01-03 12:37:29 +01:00
Matteo Bruni
fb38bad0c4
wined3d: Improve projection TEXTURETRANSFORMFLAGS handling in the ARB fragment ffp implementation.
2011-12-28 18:55:18 +01:00
Matteo Bruni
472fed41dd
wined3d: Improve invalid TEXTURETRANSFORMFLAGS handling.
2011-12-28 18:55:15 +01:00
Henri Verbeet
6623a8cfa9
wined3d: Get rid of the WINED3DFOGMODE typedef.
2011-12-22 10:08:52 +01:00
Henri Verbeet
00096c82fd
wined3d: Get rid of the WINED3DZBUFFERTYPE typedef.
2011-12-22 10:08:48 +01:00
Henri Verbeet
1ec609670f
wined3d: Get rid of the WINED3DCMPFUNC typedef.
2011-12-21 10:14:54 +01:00
Henri Verbeet
b79dc388c3
wined3d: Get rid of the WINED3DVERTEXBLENDFLAGS typedef.
2011-12-21 10:14:50 +01:00
Henri Verbeet
0feb72f000
wined3d: Handle client storage in surface_remove_pbo().
2011-12-21 10:14:44 +01:00
Henri Verbeet
317d5406d5
wined3d: Handle client storage in surface_init_sysmem().
2011-12-21 10:14:41 +01:00
Henri Verbeet
b57d1e7c33
wined3d: Don't call surface_init_sysmem() on surfaces with a PBO.
2011-12-21 10:14:37 +01:00
Henri Verbeet
3082c1a9de
wined3d: Get rid of the WINED3DRENDERSTATETYPE typedef.
2011-12-20 10:11:47 +01:00
Henri Verbeet
5bddd4427d
wined3d: Get rid of the WINED3DDEGREETYPE typedef.
2011-12-20 10:11:39 +01:00
Henri Verbeet
969f3be73f
wined3d: Get rid of the WINED3DBLENDOP typedef.
2011-12-19 20:15:49 +01:00
Henri Verbeet
b39125d2f0
wined3d: Get rid of the WINED3DBLEND typedef.
2011-12-19 20:15:49 +01:00
Henri Verbeet
67bca436ee
wined3d: Get rid of the WINED3DDEVTYPE typedef.
2011-12-13 18:58:58 +01:00
Henri Verbeet
ebb85da5f7
wined3d: Get rid of the WINEDDCAPS typedef.
2011-12-13 18:58:58 +01:00
Henri Verbeet
943fcb0fc4
wined3d: Use the correct source pitch and byte_count for uploading converted surfaces.
2011-12-13 18:58:57 +01:00
Henri Verbeet
e6fb4537f0
ddraw: Move clipper handling to ddraw.
2011-12-13 18:58:37 +01:00
Matteo Bruni
68e0cd430f
wined3d: Ignore invalid texture transform flags.
2011-12-13 14:00:24 +01:00
Matteo Bruni
fdd4df446f
wined3d: Fix some flag checks.
2011-12-13 14:00:24 +01:00
Henri Verbeet
e6a4a86608
wined3d: Get rid of the WINED3DPRIMITIVETYPE typedef.
2011-12-12 10:21:01 +01:00
Henri Verbeet
b55b683b08
wined3d: Get rid of the WINED3DLIGHTTYPE typedef.
2011-12-12 10:20:57 +01:00