Matteo Bruni
64463b81df
wined3d: Rename struct wined3d_shader_buffer to wined3d_string_buffer.
...
Also rename the shader_buffer_(clear|init|free) functions.
2015-04-27 15:06:55 +09:00
Stefan Dösinger
3c0ed9ce0a
wined3d: Introduce resource-type specific format flags.
2015-04-24 19:08:35 +09:00
Henri Verbeet
cfd280fd66
wined3d: Get rid of the tracing code in shader_vaddline().
2015-04-24 14:29:39 +09:00
Stefan Dösinger
4fbaab2020
wined3d: Shadow format flags in wined3d_rendertarget_view.
2015-04-23 20:43:20 +09:00
Stefan Dösinger
9076612e2d
wined3d: Shadow format flags in the resource.
2015-04-22 23:24:41 +09:00
Henri Verbeet
8b6cddbe25
wined3d: Get rid of context_invalidate_active_texture().
...
Calling wined3d_texture_bind() + context_invalidate_active_texture() is
equivalent to just calling wined3d_texture_bind_and_dirtify().
2015-04-16 20:44:43 +09:00
Stefan Dösinger
27209c69a9
wined3d: Call arbfp_blit_surface and ffp_blit_blit_surface through the blit interfaces.
2015-04-15 22:21:58 +09:00
Stefan Dösinger
382fa588a9
wined3d: Handle color key dirtification in wined3d_cs_exec_set_texture.
2015-04-15 22:21:57 +09:00
Stefan Dösinger
5c7707dc77
wined3d: Move alpha test states to the fragment pipeline.
...
This will allow some color keying cleanups. For Core Contexts we'll have
to emulate alpha testing in shaders anyway.
2015-04-10 21:44:01 +09:00
Stefan Dösinger
f4b6874491
wined3d: Match blitter and fragment processing color keying capabilities.
...
This is necessary if e.g. the nvts or ffp fragment processing pipeline
is selected for debugging purposes on a GPU that otherwise supports the
ARB program blitter.
2015-04-10 21:43:51 +09:00
Stefan Dösinger
5d51c97d07
wined3d: Implement color keying in the glsl fragment pipeline.
2015-04-10 21:43:31 +09:00
Stefan Dösinger
2d56694445
wined3d: Implement color keying in arbfp_blit.
2015-04-10 21:43:12 +09:00
Stefan Dösinger
82db5954c4
wined3d: Set color keys through the command stream.
2015-04-10 21:42:41 +09:00
Maxime Lombard
086d2af629
wined3d: Add support for Nvidia GTX 970M.
2015-04-10 21:42:27 +09:00
Stefan Dösinger
fa0a9232e0
wined3d: Move surface_convert_color_to_float to utils.c.
2015-04-07 23:10:30 +09:00
Stefan Dösinger
844c4efb47
wined3d: Give tex_type and its values a better name.
2015-04-03 00:33:28 +09:00
Henri Verbeet
94967c28b9
wined3d: Add support for half-integer pixel centers.
...
Like in OpenGL and Direct3D 10+.
2015-03-30 19:10:29 +09:00
Matteo Bruni
05757794a0
wined3d: Don't use the builtin FFP uniform for the projection matrix.
2015-03-27 20:40:38 +09:00
Stefan Dösinger
239e8cad7c
wined3d: Add per-context private data for fragment pipelines.
2015-03-24 20:06:15 +09:00
Henri Verbeet
1b08196c5a
wined3d: Implement d3d10 style instance data step rates.
2015-03-24 17:41:06 +09:00
Matteo Bruni
74cda79ac3
wined3d: Introduce a get_texture_matrix() function.
2015-03-23 22:59:20 +09:00
Matteo Bruni
2d270f31c6
wined3d: Introduce a get_projection_matrix() function.
...
Notice that I'm using floats instead of doubles in the new function,
mostly to be able to use struct wined3d_matrix and multiply_matrix().
At a rough estimate the precision should still be good enough.
2015-03-23 22:59:19 +09:00
Matteo Bruni
65c8c40b18
wined3d: Use a separate STATE_VIEWPORT state handler in the GLSL pipeline.
2015-03-23 22:59:18 +09:00
Henri Verbeet
002713de6d
wined3d: Store shader input signatures as a wined3d_shader_signature structure.
2015-03-23 22:59:08 +09:00
Henri Verbeet
2e5ad1b6e3
wined3d: Store shader output signatures as a wined3d_shader_signature structure.
...
Instead of a fixed array of wined3d_shader_signature_element structures.
Shader model 4 shaders can have different semantics in a single
register, e.g. v1.xy TEXCOORD0 and v1.zw TEXCOORD1, so having a single
wined3d_shader_signature_element structure per register isn't
necessarily sufficient.
2015-03-23 22:59:07 +09:00
Henri Verbeet
ba396e4212
wined3d: Simplify the wined3d_matrix structure.
2015-03-20 21:32:46 +09:00
Matteo Bruni
9811d85141
wined3d: Don't use the builtin FFP uniform for the modelview matrix.
2015-03-19 20:56:59 +09:00
Matteo Bruni
425dc69fef
wined3d: Use a separate STATE_TRANSFORM(WINED3D_TS_VIEW) state handler in the GLSL pipeline.
2015-03-19 20:56:56 +09:00
Matteo Bruni
99f3e835ac
wined3d: Use a separate STATE_VDECL state handler in the GLSL pipeline.
...
It's mostly a copy of vertexdeclaration() from state.c, with a few
differences due to the new function being private to the GLSL backend
(e.g. d3d_info.vs_clipping is known to be TRUE) and the fragment fog
update part being split out.
2015-03-19 20:56:50 +09:00
Matteo Bruni
50861156e2
wined3d: Introduce a get_modelview_matrix() function.
2015-03-19 20:56:45 +09:00
Matteo Bruni
fe4a226bfa
wined3d: Introduce a get_identity_matrix() function.
2015-03-19 20:56:42 +09:00
Stefan Dösinger
e53d22b0c0
wined3d: Manage color key changes in the texture.
...
This fixes a regression with color keyed mipmaps that was introduced by
ee8a5b7dd1
. surface_load for level n+1
would call texture_force_reload, thus removing level n from the GL
texture.
2015-02-18 22:02:33 +09:00
Henri Verbeet
849149d5d3
wined3d: Add support for appending vertex declaration elements.
2015-02-13 18:53:17 +09:00
Henri Verbeet
e4cb3b5081
wined3d: Recognize the SM4 or opcode.
2015-02-11 23:05:17 +09:00
Henri Verbeet
3225fea30c
wined3d: Recognize the SM4 ne opcode.
2015-02-11 23:05:13 +09:00
Matteo Bruni
20e61b396e
wined3d: Use unsigned short for the bitfields in struct color_fixup_desc.
2015-02-11 22:21:28 +09:00
Henri Verbeet
2e5abc156a
wined3d: Implement WINED3DSIH_SAMPLE in the GLSL shader backend.
2015-01-19 14:31:32 +01:00
Henri Verbeet
c6232e1d11
wined3d: Create GL sampler objects for wined3d sampler objects.
2015-01-15 17:24:43 +01:00
Henri Verbeet
5231113fc7
wined3d: Replace wined3d_texture_apply_state_changes() with wined3d_texture_apply_sampler_desc().
2015-01-15 17:24:38 +01:00
Henri Verbeet
86e99abb12
wined3d: Store a struct wined3d_sampler_desc in struct gl_texture.
...
Instead of a enum wined3d_texture_state array.
2015-01-15 17:24:35 +01:00
Henri Verbeet
4b480f5519
wined3d: Introduce struct wined3d_sampler_desc.
2015-01-15 17:24:32 +01:00
Henri Verbeet
ea534c9ab4
wined3d: Allow initial texture contents to be specified with wined3d_texture_create().
2015-01-05 20:15:35 +01:00
Henri Verbeet
af9ccb490a
ddraw: Use wined3d_log2i() to calculate the level count in ddraw_surface_create().
2014-12-10 19:32:08 +01:00
Henri Verbeet
3aa9fe6bef
wined3d: Record the data type of shader resources.
2014-12-03 11:14:25 +01:00
Henri Verbeet
f7e485dcf4
wined3d: Handle SM4 resource declarations.
2014-12-03 11:14:23 +01:00
Henri Verbeet
f5cef43738
wined3d: Store resource types instead of sampler types in struct wined3d_shader_reg_maps.
...
The difference doesn't really matter for SM1-3 since resources and samplers
are always tied together, but in SM4 they're separate.
2014-12-03 11:14:21 +01:00
Henri Verbeet
0e8f2786e9
wined3d: Keep a reference to the resource in shader resource views.
2014-12-01 11:00:23 +01:00
Stefan Dösinger
f6dde70624
wined3d: Restore the display mode on focus change.
2014-11-19 17:56:44 +09:00
Caron Wills
9f36db8fa5
wined3d: Add NVIDIA GeForce GTX 970 to supported device list.
2014-11-18 22:08:53 +09:00
Henri Verbeet
8c18ebf66a
wined3d: Recognize the SM4 uge opcode.
2014-11-17 19:30:37 +09:00
Stefan Dösinger
45d530461b
wined3d: Minimize device windows on focus loss.
2014-11-17 17:36:12 +09:00
Jonas Maebe
3a7bf90f66
wined3d: Add NVIDIA Geforce GT 750M to supported device list.
2014-11-14 21:30:36 +09:00
Matteo Bruni
2dd237e200
wined3d: Dirtify pixel shader on texture format change.
2014-11-04 21:15:57 +09:00
Henri Verbeet
d74fe031f9
wined3d: Calculate the SM4 output mapping in shader_sm4_init().
2014-11-04 16:54:30 +09:00
Henri Verbeet
909c5cc6fa
wined3d: Make a copy of shader signature string data.
2014-11-04 16:54:27 +09:00
Matteo Bruni
e789fadd56
wined3d: Don't replicate shader limits values for each shader.
2014-10-16 21:23:26 +09:00
Henri Verbeet
1800712298
wined3d: Track texture coordinate normalization per-texture.
2014-10-09 17:36:21 +02:00
Henri Verbeet
c5459881a3
wined3d: Track SFLAG_DYNLOCK per-texture.
2014-10-09 17:36:21 +02:00
Henri Verbeet
d6a511e022
wined3d: Track system memory pinning per-texture.
2014-10-09 17:36:21 +02:00
Henri Verbeet
710694d9ca
wined3d: Track format conversion per-texture.
2014-10-08 13:13:37 +02:00
Henri Verbeet
ee8a5b7dd1
wined3d: Track texture allocation per-texture.
2014-10-08 13:13:37 +02:00
Henri Verbeet
0c0a2adc71
wined3d: Handle GL texture allocation in the texture code.
2014-10-08 13:13:37 +02:00
Henri Verbeet
77646173a0
wined3d: Move the color key conversion helpers to util.c.
2014-10-08 13:13:37 +02:00
Henri Verbeet
6da1cff518
wined3d: Get rid of d3dfmt_convert_surface().
2014-10-07 20:22:06 +02:00
Henri Verbeet
90e3312c8c
wined3d: Use a more consistent naming for wined3d_conversion_type elements.
2014-09-30 17:35:56 +02:00
Henri Verbeet
2d5c8aff3c
wined3d: Get rid of SFLAG_DONOTFREE.
2014-09-29 10:37:37 +02:00
Henri Verbeet
97856bcfee
wined3d: Replace wined3d_surface_update_desc() with wined3d_texture_update_desc().
2014-09-29 10:37:35 +02:00
Henri Verbeet
a3daed9604
d3d10core: Implement d3d10_device_GetPredication().
2014-09-19 10:49:24 +02:00
Henri Verbeet
fdf60e51fc
d3d10core: Implement d3d10_device_SetPredication().
2014-09-19 10:49:11 +02:00
Henri Verbeet
1e434b52d0
d3d10core: Implement d3d10_device_VSSetShaderResources().
2014-09-16 12:24:59 +02:00
Henri Verbeet
e01d207699
d3d10core: Create wined3d views for shader resource views.
2014-09-16 12:24:50 +02:00
Johannes Brandstätter
de3cb3af6f
wined3d: Fix trace output of emulated_textureram.
2014-09-02 15:07:09 +02:00
Stefan Dösinger
b52214a288
wined3d: Move volume flags to volume.c.
2014-08-26 14:46:53 +02:00
Stefan Dösinger
7a1533a41c
wined3d: Replace VFLAG_PBO with resource->map_binding.
2014-08-26 14:46:51 +02:00
Henri Verbeet
07985a8c38
wined3d: Use rendertarget views for depth/stencil buffers instead of surfaces.
...
I don't think the difference between d3d10 depth/stencil and rendertarget
views is large enough to justify a separate type. Unfortunately that does make
the name "wined3d_rendertarget_view" slightly awkward.
2014-08-22 12:53:11 +02:00
Henri Verbeet
b005ad6f90
wined3d: Use rendertarget views for color output instead of surfaces.
2014-08-21 12:24:42 +02:00
Henri Verbeet
fb7135efd1
wined3d: Introduce struct wined3d_rendertarget_view_desc.
2014-08-21 12:24:28 +02:00
Henri Verbeet
eb24c9578c
wined3d: Keep a reference to the resource in rendertarget views.
2014-08-21 12:24:21 +02:00
Henri Verbeet
d3387cf77b
wined3d: Keep a reference to the backbuffer textures instead of the surfaces in the swapchain.
2014-08-20 13:29:53 +02:00
Henri Verbeet
ec87407e7c
wined3d: Keep a reference to the frontbuffer texture instead of the surface in the swapchain.
2014-08-20 13:29:52 +02:00
Henri Verbeet
aa7016054a
wined3d: Move the "swapchain" field from struct wined3d_surface to struct wined3d_texture.
2014-08-20 13:29:47 +02:00
Henri Verbeet
1ce3269ac1
wined3d: Replace surface_update_draw_binding() with wined3d_resource_update_draw_binding().
2014-08-20 13:29:45 +02:00
Henri Verbeet
f753ff90be
wined3d: Replace surface_is_offscreen() with wined3d_resource_is_offscreen().
...
Introducing rendertarget views will (eventually) allow rendering to 3D
textures and buffers.
2014-08-19 14:49:39 +02:00
Henri Verbeet
694cdcc41c
wined3d: Move the "map_binding" field from struct wined3d_surface to struct wined3d_resource.
...
Like "draw_binding".
2014-08-19 14:49:36 +02:00
Henri Verbeet
ed230a426a
wined3d: Explicitly destroy the surface in texture2d_sub_resource_cleanup().
...
Like volumes. We can do this now because we no longer have standalone
surfaces.
2014-08-19 14:49:32 +02:00
Henri Verbeet
64a1fde181
wined3d: Explicitly destroy the volume in texture3d_sub_resource_cleanup().
...
The texture always has the only reference to its subresources. This also means
we never have to set the container to NULL.
2014-08-19 14:49:30 +02:00
Henri Verbeet
df59ac1d0c
wined3d: Recognize some more AMD cards.
2014-08-19 14:49:24 +02:00
Henri Verbeet
7cdaece711
wined3d: Store the amount of video memory as a UINT64.
2014-08-18 12:47:13 +02:00
Henri Verbeet
5ef8e97414
wined3d: Move the "draw_binding" field from struct wined3d_surface to struct wined3d_resource.
2014-08-04 14:23:52 +02:00
Henri Verbeet
d079066f5d
wined3d: Get rid of the get_drawable_size() callback in struct wined3d_surface.
2014-08-04 14:23:49 +02:00
Henri Verbeet
80bca9bc9c
wined3d: Add constant buffer support to the GLSL shader backend.
2014-08-04 14:23:29 +02:00
Stefan Dösinger
cf11933701
wined3d: Remove wined3d_buffer_set/get_priority.
2014-07-16 16:10:01 +02:00
Henri Verbeet
68339456a8
wined3d: Always mark vertex buffers as used in context_apply_draw_state().
...
The issue this solves is that buffer_internal_preload() is only called when
STATE_VDECL or STATE_STREAMSRC is invalidated, but that doesn't happen for
regular buffer maps. We'd like to be able to just call
buffer_internal_preload() here, but buffer_internal_preload() has dependencies
on context_stream_info_from_declaration() and vice versa.
2014-07-14 19:26:17 +02:00
Stefan Dösinger
9d49b7a9be
wined3d: Set palettes on the swapchain.
2014-06-30 22:04:53 +02:00
Stefan Dösinger
3909215773
wined3d: Remove d3dfmt_p8_init_palette.
2014-06-11 16:14:38 +02:00
Henri Verbeet
7b8aa8606c
wined3d: Recognize the SM4 ishl opcode.
2014-05-20 09:44:25 +02:00
Henri Verbeet
3555eab8b9
wined3d: Recognize the SM4 dp2 opcode.
2014-05-20 09:44:21 +02:00
Stefan Dösinger
bfb5be0f4b
wined3d: Remove WINED3D_CT_PALETTED_CK.
...
There's no difference between WINED3D_CT_PALETTED_CK and
WINED3D_CT_PALETTED with the palette index in the alpha channel.
2014-05-14 13:29:58 +02:00
Stefan Dösinger
c1cca63e5d
wined3d: Always store the palette index in the alpha component.
2014-05-14 13:29:52 +02:00
Stefan Dösinger
1558391a11
wined3d: Store RGBQUADs in palettes.
2014-05-07 20:21:56 +02:00