Ken Thomases
59226e36b7
wined3d: Don't clear the GL context if it's not the one being destroyed by context_destroy_gl_resources().
...
The previous code clears the GL context if the context being destroyed is
not valid, even though the current one is some arbitrary, unrelated context.
2014-02-06 17:08:09 +01:00
Ken Thomases
75d53c9aed
wined3d: Don't clear the GL context such that it can't be restored.
2014-02-06 17:08:08 +01:00
Henri Verbeet
82b38139eb
wined3d: Also destroy the logo and cursor textures in wined3d_device_reset() when resetting state.
2014-01-30 17:48:35 +01:00
Henri Verbeet
175c63773d
wined3d: Don't allow format conversion on Present() for d3d8.
...
Note that this isn't currently enforced by wined3d_swapchain_create() or
wined3d_device_reset() though.
2014-01-29 20:25:52 +01:00
Ken Thomases
d2c56a6027
wined3d: Improve CheckDeviceType() support for windowed mode.
...
For windowed mode:
* It doesn't matter if there are no adapter modes for the display format.
* A backbuffer format is valid so long as there's support for color conversion
to the display format.
* A backbuffer format of D3DFMT_UNKNOWN is allowed and means that it should be
the same as the display format.
2014-01-28 19:38:47 +01:00
Stefan Dösinger
9f72f78431
wined3d: Set buffer->map_ptr to NULL on unmap.
2014-01-27 17:39:47 +01:00
Stefan Dösinger
d640018a3c
wined3d: Only set SFLAG_DYNLOCK when map_binding = sysmem.
...
All other map bindings are never freed. Setting SFLAG_DYNLOCK if
map_binding != sysmem might only keep a heap memory allocation around
(e.g. after device_reset) that is never used.
2014-01-17 18:10:18 +01:00
Stefan Dösinger
5630cb5dc8
wined3d: Don't set SFLAG_DYNLOCK at surface creation.
...
We no longer depend on SFLAG_DYNLOCK to create buffers and PIN_SYSMEM
makes sure the address remains constant.
2014-01-17 18:10:13 +01:00
Stefan Dösinger
b81e560531
wined3d: Migrate surfaces to the new location flags.
2014-01-17 18:10:10 +01:00
Stefan Dösinger
beb64c9998
wined3d: Separate surface locations and flags.
2014-01-17 18:10:08 +01:00
Stefan Dösinger
00923cb50c
wined3d: Remove surface_ops->map.
2014-01-17 18:10:05 +01:00
Stefan Dösinger
f1ac04f2a6
wined3d: Add a missing break.
2014-01-17 16:22:51 +01:00
Stefan Dösinger
65bc678fcc
wined3d: Prevent blits to surfaces that will be converted.
2014-01-16 21:04:19 +01:00
Stefan Dösinger
09dbba00d0
wined3d: Remove surface_init_sysmem.
2014-01-16 21:04:19 +01:00
Stefan Dösinger
10a8b2cd7f
wined3d: Remove resource->allocatedMemory.
2014-01-16 21:04:19 +01:00
Stefan Dösinger
abb620ed2e
wined3d: Sysmem can be freed when user memory is used.
2014-01-16 21:04:19 +01:00
Stefan Dösinger
2b8e900ac4
wined3d: Give buffers their own location.
2014-01-15 20:03:53 +01:00
Stefan Dösinger
321cd8e825
wined3d: Decide about PBO use at surface creation time.
2014-01-15 20:03:47 +01:00
Stefan Dösinger
7c052171d6
wined3d: Remove SFLAG_PBO.
2014-01-15 20:03:35 +01:00
Stefan Dösinger
035012d5aa
wined3d: Load textures from dib without copying to sysmem first.
2014-01-15 20:03:33 +01:00
Stefan Dösinger
42927d0e9d
wined3d: Add INDIB and INUSERMEM to resource_access_from_location.
2014-01-15 20:03:31 +01:00
Stefan Dösinger
d0823eb4f0
wined3d: Re-enable mapping into the DIB.
2014-01-14 20:18:25 +01:00
Stefan Dösinger
9665884766
wined3d: Don't map the surface in getdc.
...
This avoids bouncing the content between the map binding and DIB.
2014-01-14 20:18:25 +01:00
Stefan Dösinger
adf0ab2ad8
wined3d: Give the DIB section its own location.
2014-01-14 20:18:24 +01:00
Stefan Dösinger
f6403b4ac0
wined3d: Do not use surface->resource.allocatedMemory.
2014-01-14 20:18:23 +01:00
Stefan Dösinger
353b3ba6d3
wined3d: Don't lock directly into the DIB.
2014-01-14 20:18:22 +01:00
Jonathan Liu
91c5cf33ad
wined3d: Avoid wined3d_ftoa buffer overflow.
2014-01-14 12:31:37 +01:00
Stefan Dösinger
4ca8f7104f
wined3d: Move map binding loading to wined3d_surface_map.
2014-01-13 18:41:42 +01:00
Stefan Dösinger
e2c0bc63cb
wined3d: Start to split up surface_prepare_system_memory.
2014-01-13 18:41:15 +01:00
Stefan Dösinger
676a7f2140
wined3d: Make the callers of load_location responsible for allocating sysmem.
2014-01-13 18:41:09 +01:00
Stefan Dösinger
28bfc20589
wined3d: Use the map binding to optimize sysmem->sysmem blits.
2014-01-13 18:41:03 +01:00
Stefan Dösinger
965d00f4b6
wined3d: Give user memory its own location.
2014-01-10 17:59:16 +01:00
Stefan Dösinger
badf3d8db7
wined3d: Load surfaces into map binding memory on unload.
...
A surface can stay in DIB or user memory just fine. When buffers get
their own location an exception for them has to be added.
2014-01-10 17:56:48 +01:00
Stefan Dösinger
18bf8b49b3
wined3d: Move location flag updating out of surface_init_sysmem.
2014-01-10 17:56:43 +01:00
Stefan Dösinger
c770d3f573
wined3d: Mark the map binding up to date in texture2d_sub_resource_add_dirty_region.
2014-01-10 17:56:41 +01:00
Stefan Dösinger
1b561e815e
wined3d: Use the map binding for RGB<->sRGB loads.
2014-01-10 17:56:39 +01:00
Stefan Dösinger
5c1df19b16
wined3d: Use the map binding to reload surfaces on color key changes.
2014-01-10 17:56:30 +01:00
Stefan Dösinger
5479ccea20
wined3d: Use the map binding to reload surfaces on palette changes.
2014-01-10 17:56:27 +01:00
Stefan Dösinger
1046551c34
wined3d: Add a map_binding field to surfaces.
...
Buffers, heap memory, user memory and DIBs will have their own
locations. This field specifies which location is used when the surface
is mapped.
2014-01-10 17:56:24 +01:00
Henri Verbeet
5dd286d05a
wined3d: Make rebind_fbo in struct wined3d_context a bitfield.
2014-01-10 12:06:13 +01:00
Henri Verbeet
51cdeeacd4
wined3d: Explicitly request alpha testing for blitting the cursor and logo textures to screen.
2014-01-10 12:06:09 +01:00
Henri Verbeet
06d6bdae4a
wined3d: Place the logo texture in the default pool.
2014-01-10 12:06:04 +01:00
Henri Verbeet
f8e62bc596
wined3d: Place the cursor texture in the default pool.
2014-01-10 12:05:57 +01:00
Frédéric Delanoy
91f2435469
Assorted spelling fixes.
2014-01-09 17:39:59 +01:00
Stefan Dösinger
bffd536213
wined3d: GL_NV_vertex_program2_option supports relative offsets > 63.
...
The ARR codepath used if ctx->target_version >= NV2 does not account for
the correction offset, but the indirect addressing reads do, which
ultimately results in incorrect offsets. Since the limitation goes away
as soon as we enable GL_NV_vertex_program_2_option ignoring the offset
is the best thing to do. I don't set shader_data->rel_offset to zero in
the pre-compilation analysis because enablding NV_vertex_program2 is in
theory a decision that is taken later during code generation.
2014-01-09 17:39:55 +01:00
Stefan Dösinger
441d8ffeb2
wined3d: Mark the system location up to date in the DIB recreation codepath.
2014-01-09 17:39:54 +01:00
Stefan Dösinger
db6d3c500c
wined3d: Remove SFLAG_USERPTR.
2014-01-09 17:39:53 +01:00
Henri Verbeet
4710c4b51a
wined3d: Store color keys in textures instead of in surfaces.
2014-01-09 15:50:39 +01:00
Henri Verbeet
d412eb568e
wined3d: Introduce a common GLSL handler for scalar instructions.
2014-01-09 15:50:30 +01:00
Henri Verbeet
4d93adf75e
wined3d: Reset the command stream state as well in wined3d_device_reset().
2014-01-09 15:50:25 +01:00