Commit Graph

64 Commits

Author SHA1 Message Date
Ryan Fleury c33dd2869a define synchronization primitive interface in base layer, implement using os layer; convert all usage -> base layer; use base sync primitives in lane tctx info 2025-08-18 10:46:43 -07:00
Ryan Fleury 1a19bf9663 render/d3d11: adjust allowed frame 'latency' (frames-in-queue) based on number of active windows, to not unnecessarily block if we have two windows to build frames for; demon/linux: sketch out register writing path, ensure reg read/write paths have slots for other architectures 2025-07-31 14:09:42 -07:00
Ryan Fleury 81b51446a4 cap maximum frame latency 2025-07-25 11:26:08 -07:00
Ryan Fleury 65f00f3b17 do not scale swapchain framebuffer contents 2025-06-20 13:52:51 -07:00
Ryan Fleury 7e08b58cd8 render/d3d11: switch to flip_discard model 2025-06-20 12:34:13 -07:00
Ryan Fleury 94b969f203 copyright year 2025-06-02 14:13:57 -07:00
Ryan Fleury 533136875e eliminate dummy window egl setup 2025-05-12 17:20:46 -07:00
Ryan Fleury a5b227a1c6 egl/glx work; eliminate unneeded path normalization paths; do not assume os current path when normalizing paths; gl synchronous debug strings 2025-05-12 16:03:36 -07:00
Ryan Fleury fe3cac7ac3 parameterize irtree generation path with identifier resolution rules; in most cases, we want the usual order: implicit accesses -> locals -> registers -> globals/tlocals/types/procedures -> macros; but if we are specifically evaluating a call expression tree, we want to prefer callables - in this case, macros should be prioritized. 2025-05-12 11:56:57 -07:00
Ryan Fleury cc319190c6 render/opengl: flushed instance buffers 2025-05-11 15:26:05 -07:00
Ryan Fleury 219e5bd211 first pass at standing up freetype font provider backend 2025-05-10 15:59:44 -07:00
Ryan Fleury b52e3be5ae fill out more linux os layer coverage 2025-05-10 11:38:43 -07:00
Ryan Fleury b9350c867c egl backend for linux backend of opengl backend of render 2025-05-10 11:04:59 -07:00
Ryan Fleury ab5c47a0fd fix opengl win32 build 2025-05-10 08:36:13 -07:00
Ryan Fleury a1318e6117 sketch out first bit of linux-backend of opengl-backend 2025-05-09 21:51:48 -07:00
Ryan Fleury 48b8c41713 opengl render backend 2025-05-09 19:48:41 -07:00
Ryan Fleury f2bf8ccb2e layer color coverage / usage in thread colors 2025-05-09 11:15:00 -07:00
Ryan Fleury e45bdfd90d linearize theme from srgba on load, use linear colors everywhere; begin simplifying ui colors 2025-02-18 10:39:43 -08:00
Ryan Fleury 2b54f48aab test with srgba buffer, hack in srgb -> linear conversion in shader for
testing
2025-02-17 18:02:47 -08:00
Ryan Fleury 6c37db2105 more inline visualization; do not require qualifier if view rule names collide with locals 2025-02-11 16:36:20 -08:00
Ryan Fleury 98ec6ee3bb extend constructed type info with 'pointer depth', to distinguish between inline-depths; use in symbolizing & call stack expression formation 2025-02-11 16:16:44 -08:00
Ryan Fleury 5aeee47f98 oops - fix busted render handle compare 2024-11-11 09:48:11 -08:00
Ryan Fleury 65ada18d1d fix render layer guid linking w/out font provider layer; eliminate generation number on render handles; sketch out tester scratch program for text drawing performance 2024-11-08 15:02:52 -08:00
Ryan Fleury c60809f02b df -> dbg_engine and dbg_gfx layers; df (core) -> d 2024-08-28 15:16:55 -07:00
Ryan Fleury be93968c8d fix incorrect resource kind string table; fix incorrect usage of resource kind table when doing texture format lookups in bitmap view 2024-08-27 15:48:27 -07:00
Ryan Fleury b18e437337 git normalize all files 2024-07-26 11:13:47 -07:00
Ryan Fleury 3cc51038df os_core: linux port for memory, thread info, filesystem apis 2024-07-16 13:24:54 -07:00
Ryan Fleury 1b74fb0760 simplification pass over os core layer; simplification pass over base arena; set up build.sh; stub out new spot for linux os core 2024-07-15 17:23:01 -07:00
Ryan Fleury 614954b7ef checkpoint on palettes, fix source view overlay margin building/drawing 2024-06-24 14:46:16 -07:00
Ryan Fleury fb9824dc24 remove unnecessary ctrl log flushes, which seriously bloated the ctrl thread running path 2024-06-14 07:57:46 -07:00
Ryan Fleury 57da328c2a d3d11 render backend c++ -> c; raddbg build c++ -> c 2024-06-01 19:24:47 -07:00
Ryan Fleury f50b54cff7 complete metacodification of rdi format info into tables 2024-06-01 19:24:46 -07:00
Ryan Fleury 5074b7f62e expand f_push_run_from_... to basing its tab-advance logic on what base column it is starting at - currently assume this is 0, basically doing the most naive tab alignment version that will work for leading spaces but for nothing else, and also assume 4-space tab width for now 2024-05-24 14:40:07 -07:00
Martins Mozeiko fd982d38fc Fixes bad resource usage in rendering
D3D11 is quite strict about how resources are supposed to be used - read/write & CPU access.
This changes Tex2DKind and BufferKind into one uniform ResourceKind (because it's the same thing really).

And it is more strict about usage:
1) Static is not allowed to update, resource is immutable, data provided at creation
2) Dynamic allows CPU to update GPU resource occasionally via UpdateSubresource
3) Stream allows CPU to update GPU resource often via Map/Unmap (currently unused)
2024-05-24 14:04:42 -07:00
Ryan Fleury fdfee37228 oops - only d3d11 flush on resize 2024-05-23 14:45:32 -07:00
Ryan Fleury c17072053b adjust d3d11 resize path 2024-05-22 15:27:39 -07:00
Mohit Sethi 6c8963cd06 Disable Alt+Enter fullscreen 2024-03-29 08:23:24 -07:00
Ryan Fleury d8cf83b4d7 pull out & organize build configuration options, including entry point style, to context cracker 2024-02-25 13:30:15 -08:00
Ryan Fleury 9c7fd0a411 metagen: simplify & straighten out table generation further; raddbgi_cons: fix incorrect str8_list_join 2024-02-13 11:38:43 -08:00
Ryan Fleury 1d9dc2b9a9 metagen: simplify data tables 2024-02-13 11:16:45 -08:00
Ryan Fleury ea840a71e8 metagen: simplify enum generation; reading/organization pass over raddbgi_from_pdb 2024-02-13 10:55:06 -08:00
Ryan Fleury fb43eb9c72 default to no d3d11 debug features; use command line flag to enable 2024-02-06 14:59:41 -08:00
Ryan Fleury 385014adcb raddbg nil tables, autofill empty tables with 1-sized nils; use element-from-idx wrapper to bounds-check and nilify all out-of-bounds raddbg table accesses 2024-01-31 08:43:33 -08:00
Ryan Fleury 83e8bb8ddd actually still need corner sdf sample with sufficient softness as well 2024-01-29 15:58:15 -08:00
Ryan Fleury afe105da31 eliminate further useless sdf sampling in shaders; eliminate useless borders in ui, eliminating more overdraw; eliminate tab bar clipping issue 2024-01-29 15:52:08 -08:00
Ryan Fleury b76a8b9854 oops - do not ring_write in reader path... also fix silly shader thing 2024-01-26 13:51:57 -08:00
Ryan Fleury 88a218e36e visual jank-fix/polish pass 2024-01-26 07:43:40 -08:00
Martins Mozeiko 644a94d5ef fixing clang build 2024-01-25 11:19:30 -08:00
Martins Mozeiko bae91cd40c doing blur shader without alpha blending 2024-01-23 15:05:33 -08:00
Martins Mozeiko 82f86d654f bugfix when calculating kernel weights for smaller than 1px blur size 2024-01-23 15:05:33 -08:00