6a272f22de
Merge pull request #5478 from stenzek/vulkan-nvidia
...
Vulkan: Don't use vkCmdClearAttachments on NVIDIA with MSAA
2017-08-14 13:12:41 -07:00
a7bdd2ee1c
Merge pull request #5868 from stenzek/d3d-require-new-compiler
...
D3DBase: Raise error if d3dcompiler_47.dll cannot be loaded
2017-08-14 09:55:31 -07:00
f090a94319
Remove non-integer IRs
2017-08-08 12:09:50 +02:00
745f92b4e5
TransformUnit: Get rid of pointer casting in TransformColor() where applicable
...
The casts to u32* are technically undefined behavior. The u8* cast is
left, as char/unsigned char is exempted from this rule to allow for
bvtewise inspection of objects (and this is what s8/u8 are typedefs of
on platforms we support).
2017-08-06 19:04:31 -04:00
4d35a3105e
TransformUnit: Make LightColor()'s chan parameter const
...
Also marks references/pointers const where applicable
2017-08-06 18:15:05 -04:00
cc4b3b180b
VideoSW: Drop log level of missing anti aliasing support.
...
We don't want to emit such a high priority warning here, else fifoci will die.
2017-08-05 19:20:19 +02:00
6d91c1b079
ProgramShaderCache: Call glTexImage3D after glTexParameter
...
Was missed before merge.
2017-08-05 18:18:30 +10:00
3c5112bb21
Merge pull request #5856 from stenzek/optimus-crash
...
Fix ubershader crashes with primus/bumblebee
2017-08-05 00:54:28 -07:00
c3a57bbad5
Video: Clearly separate Texture and EFB Copy formats
...
Improve bookkeeping around formats. Hopefully make code less confusing.
- Rename TlutFormat -> TLUTFormat to follow conventions.
- Use enum classes to prevent using a Texture format where an EFB Copy format
is expected or vice-versa.
- Use common EFBCopyFormat names regardless of depth and YUV configurations.
2017-08-03 18:35:29 -07:00
7f88711186
Vulkan: Add a driver bug for NV when MSAA is enabled
...
This causes the card to lock up when vkCmdClearAttachments is called,
when multisampling is enabled. Seems to be restricted to Maxwell and
newer?
2017-08-03 17:40:15 +10:00
fee08cf63d
Vulkan: Use optimal tiling for dummy texture
...
Fixes a crash on some NVIDIA drivers. Apparently calling
vkCmdClearColorImage on an image with linear tiling causes the
GPU/driver to lock up.
2017-08-02 21:33:10 +10:00
67997529b8
ProgramShaderCache: Create a FBO for shared contexts to draw into
...
This way it allows us to use surfaceless contexts in EGL/GLX. It also
ensures that the shared context shares a similar setup to the main
context's framebuffer, potentially reducing the number of variants a
driver needs to generate.
2017-08-02 20:12:28 +10:00
57f34d748b
D3DBase: Raise error if d3dcompiler_47.dll cannot be loaded
...
Previously we were falling back to an earlier version of the compiler.
The older version cannot compile our ubershaders without various
graphical issues.
2017-08-02 19:54:55 +10:00
fe65b26d53
Merge pull request #5834 from stenzek/bc7
...
Support loading BC7 (BPTC) textures from DDS files
2017-08-01 12:39:19 +10:00
63305e9173
HiresTextures: Support loading BC7 (BPTC) from DDS files
2017-08-01 11:59:38 +10:00
d62dcd397d
VideoConfig: Drop force vertex/pixel ubershader settings
...
This was mainly included for debugging, but could end up being confusing
for users, as well as polluting the GL program cache with a mix of uber
and specialized shaders if the option was changed.
2017-07-31 23:21:38 +10:00
f6c21e002b
General: Remove unnecessary semicolons
2017-07-30 16:39:53 -04:00
e968c191ff
Ubershaders: Support per-pixel lighting
2017-07-30 17:43:59 +10:00
c8f31656cb
VideoBackends: Support a different number of threads for precompiling
...
At runtime, we only really want a single shader compiler thread.
However, for initial boots, we can use a higher number to speed things
up.
2017-07-30 17:43:59 +10:00
e17efb1d8d
ShaderGen: Use consistent variable names for texture coordinates
2017-07-30 17:43:59 +10:00
25338c53e0
NativeVertexFormat: Drop unused virtual method SetupVertexPointers
2017-07-30 17:43:59 +10:00
33f6668544
Vulkan: Multithreaded creation of UID pipeline caches
...
Should give a decent speedup to boot time.
2017-07-30 17:43:59 +10:00
81b4ed2a81
Vulkan: Uber shader support
2017-07-30 17:43:59 +10:00
4bf5625895
D3D: Uber shader support
2017-07-30 17:43:59 +10:00
cd502990fa
OGL: Uber shader support
2017-07-30 17:43:59 +10:00
7d78cf0f6f
ShaderGen: Implement pixel ubershaders
2017-07-30 17:43:59 +10:00
f48ef65bec
XFMemory: Convert several registers to bitfields
2017-07-30 17:43:59 +10:00
479abde9f4
BPMemory: Convert a number of unions to BitFields
2017-07-30 17:43:59 +10:00
357c55442f
Vulkan: Clear decoding texture before usage
...
Fixes a validation layer warning.
2017-07-30 12:38:50 +10:00
aff44684a4
Vulkan: Move shader/pipeline-related methods to ShaderCache
2017-07-30 12:38:49 +10:00
d23fd17e1a
Vulkan: Use VK_NV_glsl extension where available, and skip glslang
...
Seems to produce faster ubershaders, at least.
2017-07-30 12:38:49 +10:00
3ea9d86faa
ShaderGen: Pass host config to shader generation functions
...
Also moves the host config checks to common.
2017-07-20 17:54:33 +10:00
d01b0bf60f
VideoCommon: Move shader cache filename generation to common
2017-07-20 17:46:59 +10:00
7c5bbafdd1
Vulkan: Don't save/load pipeline UID cache when shader cache is disabled
2017-07-20 17:46:59 +10:00
b380f292b4
Vulkan: Reload pipeline cache when relevant host config changes
2017-07-20 17:46:59 +10:00
a8343cc19a
Vulkan: Don't save pipeline cache if shader cache is disabled
...
We still create a pipeline cache object, since that speeds up driver's
creation of pipelines at runtime. However, we should not save it.
2017-07-20 17:46:59 +10:00
d9a3b29a07
Vulkan: Emit input/output locations for EFB poke geometry shader
2017-07-20 17:46:59 +10:00
228ddb8aba
D3D11: Reload shader cache when relevant config changes
2017-07-20 17:46:59 +10:00
62a901508b
OGL: Reload shader cache when relevant video config changes
2017-07-20 17:46:59 +10:00
3fc9a48da0
D3DBase: Use the swapchain discard mode when possible.
2017-07-10 14:25:28 +02:00
65495a1297
D3D: Resize the swapchain when the fullscreen state is changed
2017-07-10 14:24:11 +02:00
07c5dcd739
D3DBase: Set the fullscreen state in Create()
2017-07-10 14:03:04 +02:00
0f13c61daa
D3DBase: Only create a stereo swapchain when needed.
2017-07-10 01:24:43 +02:00
77a318789a
D3DBase: Implement Windows 7 swapchain fallback.
2017-07-10 01:02:29 +02:00
938939136e
D3DBase: Only use temporary mono when supported by the swapchain.
2017-07-10 01:02:05 +02:00
b485329353
D3DBase: Set the monoscopic flag when we don't use stereoscopy.
2017-07-05 22:43:39 +02:00
1f2d43c870
Vulkan: Implement Quad-Buffered stereoscopy support.
2017-07-05 22:43:39 +02:00
f3508742ac
OGL: Support Quad-Buffered stereoscopy.
2017-07-05 22:43:39 +02:00
2ab068d3f2
D3DBase: Always create a stereo swapchain.
2017-07-05 22:43:39 +02:00
179602e921
D3D: Add quad-buffer stereoscopy support.
2017-07-05 22:43:39 +02:00