Flyinghead
4ecf43a08d
vulkan: revert to using 3 swap images. fix crash when switching gl/vk
...
Fix Hello Kitty crash with empty first TR polygon
Fix Test Drive Le Mans crash on invalid textures
Fix wldkickspw crash with invalid TA data
2020-07-11 17:38:41 +02:00
Flyinghead
1713124711
vulkan: linear tiling for small texs. don't track in-flight texs
...
Linear tiling is faster for small, frequently updated textures
When lots of textures are updated each frame, a skipped frame will
destroy/recreate all textures, causing another skipped frame, etc. So
in-flight texture tracking is disabled, except for RTT textures
Limit swap chain to 2 images
Refactor base and oit renderers to avoid code dup
2020-07-10 18:50:53 +02:00
Flyinghead
34575d577c
fix sdl+egl build. get rid of USES_HOMEDIR. thread deadlock at exit
...
fix odroid xu3 build
sdl: use left or right alt+enter to maximize window
deadlock at exit if dc_exit called from emu thread
2020-05-08 18:41:36 +02:00
scribam
6ee4b6de85
Replace OS_DARWIN by __APPLE__
2020-04-26 14:19:21 +02:00
Flyinghead
17a2c3644f
ui: add loading screen with cancel button. don't freeze ui on load
2020-04-20 18:52:02 +02:00
Flyinghead
786c8e7744
get rid of libpng and use stb_image_write instead. OSX: static link SDL
2020-04-08 15:34:21 +02:00
Flyinghead
d1b29a59d2
vulkan: re-enable vulkan 1.1 on Android. Fix TEST_AUTOMATION
...
disable vmem32 for Heroes of Might and Magic III
support no vmem in _vmem.cpp
2020-04-03 16:32:53 +02:00
scribam
a155282fd0
Cleanup compiler warnings (mostly sign-compare)
2020-03-30 23:00:43 +02:00
scribam
4bf6802855
Cleanup include headers
2020-03-29 14:26:21 +02:00
Flyinghead
ef223bb20d
vulkan: disable vulkan 1.1 on android for now
...
Issue #30
2020-03-17 16:34:14 +01:00
scribam
4161ca9b07
msvc build fixes
2020-01-28 19:08:22 +01:00
flyinghead
36a7c00507
win32: fix crash when switching to vulkan
...
fix recursive call to VulkanContext::Init
still crashing when starting with vk and switching to GL
2020-01-08 10:58:24 +01:00
Flyinghead
43d924ceae
vulkan: reset physical device at init
...
don't use PhysicalDeviceProperties2KHR with vulkan 1.0
tentative fix for issue #30
2020-01-06 21:33:31 +01:00
Flyinghead
d49373b0f9
vulkan: VMU display
...
Reset pipeline when switching per-triangle/per-strip
Adreno workaround test typo
clean up
2019-12-25 13:09:54 +01:00
flyinghead
3415ce5577
win32: detect platform. SDL support
2019-12-22 23:49:52 +01:00
flyinghead
424a02cdf3
vulkan: workaround for intel driver bug when depth write is disabled
...
backport adreno driver translucent modvol workaround
2019-12-22 17:48:24 +01:00
Flyinghead
29fd406dd8
vulkan: crash on windows when switching from gl to vulkan
...
Destroy and recreate window when switching from gl to vulkan
VkGetPhysicalDeviceProperties2 crash with old nvidia driver (376)
2019-12-14 17:53:01 +01:00
Flyinghead
369624b28f
vulkan: check if api 1.1 is available. fix screenshot R&B swap
2019-12-08 22:22:40 +01:00
Flyinghead
9acbfae25d
vulkan: don't allocate more than allowed
2019-12-07 22:12:14 +01:00
Flyinghead
cd49b32473
vulkan: allocate oit buffers in device-local mem. NVidia fixes
...
BufferData was always allocated in host visible mem, regardless of the
mem property argument.
NVidia gpus don't support blitting to 565 and 5551, which is needed for
mipmaps, so convert to 8888 instead.
Use optimal tiling for oit pointers image (linear not supported by
nvidia and probably slower anyway)
oit screen drawer uses multiple final attachments
Set non-oit depth attachment as transient and lazily allocate mem
2019-12-04 15:51:26 +01:00
Flyinghead
5f265d03fe
vulkan: use a chain of final color attachments
...
glcache: clear tex param cache
2019-12-03 21:29:37 +01:00
Flyinghead
6865d74a85
vulkan: use last rendered frame as background for ui
2019-11-30 12:14:36 +01:00
Flyinghead
0280fcc9d4
vulkan: render to temp fbo then to screen
...
renderers render to image which is blitted to the screen by the context
batch texture updates command buffers and submit once
fix screen scaling
2019-11-29 19:28:22 +01:00
Flyinghead
dae0908735
vulkan oit: fix imgui overlay
...
re-init imgui with the oit render pass when running game. use regular
render pass otherwise.
2019-11-26 18:28:48 +01:00
Flyinghead
a944cd08c6
vulkan: use amd mem allocator
2019-11-26 10:42:44 +01:00
Flyinghead
01af8e5f5e
vulkan: fix texture LoD, enable anisotropic filtering
...
fixes textures being grainy when seen from a distance
2019-11-15 11:17:01 +01:00
Flyinghead
09f5d25133
vulkan: automation screenshot. less code duplication
...
fix assert on exit due to not released vmem
fix crash when resizing window
2019-11-13 20:08:14 +01:00
Flyinghead
b8c1d6657d
vulkan: quad buffer, extract shader compiler
...
fetch color format, storage buffer alignment and stores/atomics support
at init
support for framebuffers used as input attachments
use Allocator instead of VulkanAllocator
return handles instead of unique handles
2019-11-10 10:16:18 +01:00
Flyinghead
2a89874812
decouple imgui from gles renderer
2019-10-19 18:34:24 +02:00
Flyinghead
6611e9bf5e
gl: refactor wsi into their own class.Allow dynamic vk<->gl switch
2019-10-18 21:57:08 +02:00
flyinghead
dffaed7dd9
vulkan: prefer optimal depth format. use same format for rtt
...
Try to find an optimal depth format then fall back to linear
Use same depth format for rtt depth attachments
Allow RenderToTextureBuffer setting to be changed at runtime
Enable vulkan on windows
2019-10-16 10:40:06 +02:00
flyinghead
c3cbfbdfb0
vulkan: android build fix
2019-10-15 21:50:42 +02:00
flyinghead
a6c56ba748
vulkan: windows support
2019-10-15 21:25:24 +02:00
Flyinghead
d28a7f45c5
vulkan: android support
...
align uniform buffers according to physical device requirements
destroy old swap chain before creating new one
some drivers don't support some 16-bit texture formats for optimal
tiling
2019-10-15 16:49:20 +02:00
Flyinghead
e3a997b642
vulkan: direct framebuffer writes support
...
alternate between 2 texture drawers
Fix scissor scale when pixel_double is on
Ingore Present() when nothing has been rendered
2019-10-14 17:41:49 +02:00
Flyinghead
f8d4b08618
vulkan: increase some descriptor pool sizes. Use 3 swap chain images
2019-10-13 22:40:11 +02:00
Flyinghead
06e1456d4f
vulkan: memory allocator
2019-10-12 13:48:41 +02:00
Flyinghead
459a2b973e
vulkan: make staging buffer visible to host for rtt2vram. Minor changes
2019-10-12 13:48:41 +02:00
Flyinghead
6406523720
vulkan: RTT support
2019-10-09 21:18:06 +02:00
Flyinghead
b790a336e9
vulkan: modifier volumes
2019-10-07 12:30:56 +02:00
Flyinghead
8f8f270cfc
vulkan: use separate command buffer to upload tex. Limit desc set size.
2019-10-06 14:31:39 +02:00
Flyinghead
5b35b52fda
vulkan: fix uniforms alignment. Use push constants for per-poly params
...
Fix clipping, trilinear alpha
Imgui FPS counter
2019-10-05 23:29:39 +02:00
Flyinghead
d23b7bff7b
vulkan: recreate swap chain on resize. flush samplers when updating tex
2019-10-05 16:09:28 +02:00
Flyinghead
b1defae3f7
vulkan renderer - WIP
2019-10-05 11:50:14 +02:00