Commit Graph

6097 Commits

Author SHA1 Message Date
Henri Verbeet ac54753e7c wined3d: Get rid of RTL_READDRAW.
I don't think we ever want to use glDrawPixels().
2013-08-28 11:17:09 +02:00
Henri Verbeet f5f7a4e457 wined3d: Get rid of GL_EXT_paletted_texture support.
No current drivers support this, and it's probably broken. Also note that
since we removed paletted texture support from wined3d, this would only be
used for WINED3DFMT_P8_UINT blits.
2013-08-28 11:17:09 +02:00
Henri Verbeet 00ffc0c24b wined3d: Get rid of the unused MAX_PALETTES constant. 2013-08-28 11:17:08 +02:00
Henri Verbeet b85c2a74bb wined3d: Replace the "stateBlock" wined3d_device field with a wined3d_state structure. 2013-08-27 11:50:53 +02:00
Henri Verbeet fc5f9d4709 wined3d: Make stateblock_init_default_state() work with a wined3d_state structure instead. 2013-08-27 11:50:53 +02:00
Henri Verbeet cc85c6aff0 wined3d: Introduce a separate function for initializing a wined3d_state structure. 2013-08-27 11:50:53 +02:00
Stefan Dösinger e69670f76b wined3d: Disallow MANAGED or SCRATCH pool dynamic volumes. 2013-08-26 19:02:33 +02:00
Stefan Dösinger 1bd6710b6f wined3d: Check volume formats and sizes in device_update_volume. 2013-08-26 19:02:29 +02:00
Stefan Dösinger 9fbc90b8e3 wined3d: UpdateTexture requires a sysmem source and default destination. 2013-08-26 19:02:23 +02:00
Stefan Dösinger 6bc3cbf1c5 wined3d: Implement sRGB for volumes. 2013-08-26 19:02:16 +02:00
Stefan Dösinger bd866c0294 wined3d: Implement NOOVERWRITE and DISCARD volume maps. 2013-08-26 19:01:53 +02:00
Stefan Dösinger 8c708486c3 wined3d: Use PBOs for dynamic volumes. 2013-08-26 19:01:39 +02:00
Stefan Dösinger 421b7a17ad wined3d: Enforce volume mapping restrictions. 2013-08-26 19:01:23 +02:00
Henri Verbeet aee3c0faeb wined3d: Introduce a separate function for cleaning up a wined3d_state structure. 2013-08-26 10:50:48 +02:00
Henri Verbeet 4e755d263f wined3d: Make stateblock_unbind_resources() work with a wined3d_state structure instead. 2013-08-26 10:50:46 +02:00
Henri Verbeet f02a5f45d4 wined3d: Replace the "updateStateBlock" wined3d_device field with a "update_state" field. 2013-08-26 10:50:43 +02:00
Stefan Dösinger aa3a43f769 wined3d: Don't lock the dst volume in device_update_volume. 2013-08-23 19:26:43 +02:00
Stefan Dösinger 5ff1237563 wined3d: Free volume sysmem after upload. 2013-08-23 19:26:38 +02:00
Stefan Dösinger a89f2e6301 wined3d: Move volume sysmem allocation into a separate function. 2013-08-23 19:26:34 +02:00
Gediminas Jakutis 6ca8b274bb wined3d: Recognize Nvidia GeForce GTX 770. 2013-08-23 18:28:47 +02:00
Henri Verbeet b4d6f90f20 wined3d: Only update the stateblock's "changed" field if we're recording. 2013-08-23 10:41:36 +02:00
Henri Verbeet 8b8e081d5f wined3d: Keep track of contained indices in struct constant_heap itself. 2013-08-23 10:41:32 +02:00
Henri Verbeet 74faebd68d wined3d: Store the current GLSL program per-context. 2013-08-23 10:41:28 +02:00
Stefan Dösinger 52fb1cc245 wined3d: Implement basic volume location management. 2013-08-22 20:16:01 +02:00
Stefan Dösinger bcb651ca80 wined3d: Remove WINED3D_RESOURCE_ACCESS_SCRATCH. 2013-08-22 20:15:45 +02:00
Stefan Dösinger 07079d1109 wined3d: Remove locked and dirty boxes from volumes. 2013-08-22 20:15:39 +02:00
Stefan Dösinger 518ac4c275 wined3d: Move volume data uploading into a separate function. 2013-08-22 20:15:33 +02:00
Stefan Dösinger e08e2b2ade wined3d: Separate volume allocation and loading. 2013-08-22 20:15:27 +02:00
Stefan Dösinger ac871305f8 wined3d: Store the mipmap level in the volume. 2013-08-22 20:15:18 +02:00
Henri Verbeet 6501f2e215 wined3d: Read from stateBlock instead of updateStateBlock in wined3d_device_get_texture_stage_state(). 2013-08-22 10:26:49 +02:00
Henri Verbeet 9b721da9a5 wined3d: Read from stateBlock instead of updateStateBlock in wined3d_device_get_scissor_rect(). 2013-08-22 10:26:46 +02:00
Henri Verbeet 7638e550b9 wined3d: Read from stateBlock instead of updateStateBlock in wined3d_device_get_material(). 2013-08-22 10:26:42 +02:00
Stefan Dösinger 7e7ee52486 wined3d: Move volume booleans into a flags field. 2013-08-21 19:53:38 +02:00
Stefan Dösinger 6e4e1ad392 wined3d: Properly allocate heap memory for volumes. 2013-08-21 19:53:28 +02:00
Stefan Dösinger 4dd4a6913b wined3d: Add a function for allocating aligned resource memory. 2013-08-21 19:53:20 +02:00
Stefan Dösinger 9d75a517c2 wined3d: Improve volume size calculation. 2013-08-21 19:53:15 +02:00
Henri Verbeet a2e1a3d4f1 wined3d: Read from stateBlock instead of updateStateBlock in wined3d_device_get_stream_source_freq(). 2013-08-21 12:13:56 +02:00
Henri Verbeet 69e1100c0c wined3d: Handle NP2 fixup updates in shader_load_constants(). 2013-08-21 12:13:56 +02:00
Henri Verbeet 62859daf0b wined3d: Avoid looking up shaders for shader stages that didn't change. 2013-08-21 12:13:56 +02:00
Henri Verbeet 7e7bd87b2c wined3d: Store the original display mode in the swapchain. 2013-08-20 11:50:28 +02:00
Stefan Dösinger a4f009d847 wined3d: Keep GL_UNPACK_CLIENT_STORAGE_APPLE off by default.
This is cleaner than the other way around and avoids side effects in
code that wasn't written with client storage in mind. Contrary to the
original intention, it also means fewer client storage toggle calls.
2013-08-19 18:07:45 +02:00
Henri Verbeet 390543dd02 wined3d: Use the "adapter" local variable in swapchain_init(). 2013-08-19 12:53:21 +02:00
Henri Verbeet b2721d5f9c wined3d: Store the immediate mode fixed function attribute submission function pointers in struct wined3d_d3d_info. 2013-08-19 12:53:21 +02:00
Henri Verbeet c1a7323fac wined3d: Avoid some redundant state_pscale() calls. 2013-08-19 12:53:21 +02:00
Henri Verbeet ad147d638c wined3d: Just update a range of constants in walk_constant_heap().
The call overhead from separate calls typically ends up being more expensive
than just updating a few more constants.
2013-08-16 11:55:24 +02:00
Henri Verbeet 37d1e8b79c wined3d: Try to avoid redundant constant updates.
This gives a minor performance improvement. For example, in 3DMark03 Game Test
1 this gives about a 4% improvement, in the Counter Strike: Source stress test
it's about 1%. (NVIDIA GF9600M, Intel T9550, 1024x768).
2013-08-16 11:55:24 +02:00
Henri Verbeet c1af405054 wined3d: Only set fragment pipe uniforms if they're needed by the shader.
In principle the GL driver also checks the location, but it turns out to be
slightly faster to do it ourselves.
2013-08-16 11:55:24 +02:00
Henri Verbeet cbaa17d3cf wined3d: Assume the buffer has a buffer object in buffer_add_dirty_area(). 2013-08-15 16:24:09 +02:00
Henri Verbeet 4eb39ec5f4 wined3d: Make buffer_add_dirty_area() never fail. 2013-08-15 16:24:07 +02:00
Henri Verbeet 5e64fd7049 wined3d: Don't bother downloading buffer contents on destruction. 2013-08-15 16:24:04 +02:00