Vulkan is a low-overhead, cross-platform 3D graphics and compute API.
Vulkan targets high-performance realtime 3D graphics applications such as games and interactive media across multiple platforms providing higher performance and lower CPU usage.
| Hi Everyone, | |
| We are interested in feedback for a mechanism to effectively schedule high | |
| priority VR reprojection tasks (also referred to as time-warping) for Polaris10 | |
| running on the amdgpu kernel driver. | |
| Brief context: | |
| -------------- | |
| The main objective of reprojection is to avoid motion sickness for VR users in |
| // Creating a node graph editor for Dear ImGui | |
| // Quick sample, not production code! | |
| // This is quick demo I crafted in a few hours in 2015 showcasing how to use Dear ImGui to create custom stuff, | |
| // which ended up feeding a thread full of better experiments. | |
| // See https://github.com/ocornut/imgui/issues/306 for details | |
| // Fast forward to 2023, see e.g. https://github.com/ocornut/imgui/wiki/Useful-Extensions#node-editors | |
| // Changelog | |
| // - v0.05 (2023-03): fixed for renamed api: AddBezierCurve()->AddBezierCubic(). |
| #include <assert.h> | |
| #include <err.h> | |
| #include <stdbool.h> | |
| #include <stdio.h> | |
| #include <stdlib.h> | |
| #include <string.h> | |
| #include <unistd.h> | |
| #include <xcb/xcb.h> | |
| #include <xcb/xkb.h> |
| /* gnome-terminal */ | |
| TerminalScreen { | |
| -TerminalScreen-background-darkness: 0.95; | |
| background-color: #300a24; | |
| color: #fff; | |
| } | |
| TerminalWindow, | |
| TerminalWindow.background { | |
| background-image: none; |
| #include <string.h> | |
| #include <stdio.h> | |
| #include <iostream> | |
| #include <fstream> | |
| #include <vector> | |
| #include "rapidxml-1.13/rapidxml.hpp" | |
| using namespace rapidxml; | |
| using namespace std; |
| -- ghci example | |
| -- *Main> group [1,2,3,4,7,8,13] | |
| -- [(1,4),(7,8),(13,13)] | |
| group = foldr f [] | |
| where f x [] = [(x,x)] | |
| f x as@((a,b):as') = if a == x+1 then (x,b):as' | |
| else (x,x):as | |
| -- *Main> ungroup [(1,4),(7,8),(13,13)] | |
| -- [1,2,3,4,7,8,13] | |
| ungroup [] = [] |