Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Topics - JeGX

Pages: 1 [2] 3 4 ... 30
A barrier is a new concept exposed to developers which was previously hidden inside the driver. If you think synchronization, you’re not too far off, as this is also part of what a barrier is.The synchronization part is well known for CPUs: you have multiple writer threads updating a buffer, then you synchronize to make sure all writes have finished, and then you can process the data with multiple reader threads. However, that’s not all there is to a GPU barrier (ResourceBarrier and vkCmdPipelineBarrier).


Related to barriers are fences (CreateFence and vkCreateFence), which are required to synchronize the CPU with the GPU as well as different queues on GPUs. A fence is a very heavyweight synchronization primitive as it requires the GPU to flush all caches at least, and potentially some additional synchronization. Due to those costs, fences should be used sparingly. In particular, try to group per-frame resources and track them together with a single fence instead of fine-grained per-resource tracking. For instance, all commands buffers used in one frame should be protected by one fence, instead of one fence per command buffer.



added to Vulkan resources list:

English forum / (WIP) Vulkan plugin for GeeXLab
« on: February 22, 2016, 09:36:33 AM »
I started the coding of this #Vulkan plugin...

After two days of struggle, I can now clear the framebuffer (what a joke!)  :P
We can create a renderer + render window on a particular GPU, and the scene resize is also managed.

Next step: pipeline object + SPIR-V programs.

2016/2/22@09:22:45(0000000001) < > GeeXLab v0.9.6.1 (Feb 22 2016@09:14:00)
2016/2/22@09:22:45(0000000002) < > Cross Platform Lab for Real Time 3D Programming and Demo Coding
2016/2/22@09:22:45(0000000003) < > (C)2009-2016 Geeks3D (
2016/2/22@09:22:45(0000000004) < > GeeXLab is starting up...
2016/2/22@09:22:45(0000000005) < > Windows version: Windows 10 build 10586
2016/2/22@09:22:45(0000000006) < > platform: Windows 64-bit

2016/2/22@09:22:49(0000000082) < > [Vulkan] Vulkan renderer (Windows, Linux)
2016/2/22@09:22:49(0000000083) < > [Vulkan] Vulkan core library loaded ok.
2016/2/22@09:22:49(0000000084) < > [Vulkan] # Vulkan devices: 2
2016/2/22@09:22:49(0000000085) < > [Vulkan] [ GPU 1 ]--------------------------------------
2016/2/22@09:22:49(0000000086) < > [Vulkan] - GPU name: GTX 750
2016/2/22@09:22:49(0000000087) < > [Vulkan] - DeviceID: 10DE-1381
2016/2/22@09:22:49(0000000088) < > [Vulkan] - Raw driver version: 1493811200
2016/2/22@09:22:49(0000000089) < > [Vulkan] - Vulkan API version: 1.0.3
2016/2/22@09:22:49(0000000090) < > [Vulkan] - Device type: VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU
2016/2/22@09:22:49(0000000091) < > [Vulkan] [ GPU 2 ]--------------------------------------
2016/2/22@09:22:49(0000000092) < > [Vulkan] - GPU name: GTX 960
2016/2/22@09:22:49(0000000093) < > [Vulkan] - DeviceID: 10DE-1401
2016/2/22@09:22:49(0000000094) < > [Vulkan] - Raw driver version: 1493811200
2016/2/22@09:22:49(0000000095) < > [Vulkan] - Vulkan API version: 1.0.3
2016/2/22@09:22:49(0000000096) < > [Vulkan] - Device type: VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU

Unlike DX12, there's no shocking leap in performance this time.

But first some caveats: The Talos Principle is technically the first game with Vulkan support, but it's currently being beta-tested. The Talos Principle also isn't designed to use the CPU utilisation and draw call improvements that are central to Vulkan, unlike Stardock's Ashes of the Singularity demo does with DX12. Furthermore, the new Vulkan drivers from AMD and Nvidia are also both in beta testing. In short, take these benchmark results with a large pinch of salt.


Essentially, in GPU bound scenarios like higher than 1080p gaming, Vulkan isn't all that different to OpenGL. But as soon as the CPU is taxed a little more, like at 1080p and lower resolutions, there's a clear uplift in performance.


News added to Vulkan resource list:

English forum / Raspberry Pi OpenGL 2.1 support tested
« on: February 15, 2016, 09:16:32 PM »
The new support of OpenGL 2.1 added to Raspbian Jessie has been tested with the latest GeeXLab

English forum / GeeXLab released
« on: February 15, 2016, 09:14:01 PM »
GeeXLab has been released for all platforms, including Raspberry Pi with OpenGL 2.1 support. The complete story is available here:

Hello and welcome to our series of blog posts covering performance advice for Direct3D® 12 & Vulkan™. You may have seen the #DX12PerfTweets on Twitter, and asked yourself where you can find some more background information – search no more, we’ve got you covered. Today, we’ll be looking at command lists, a feature which is only present in explicit APIs that expose fairly directly the DMA command buffer architecture of most modern 3D hardware.


The most important fact about command lists is that they can be recorded from multiple threads. This is one of the major advantages of Direct3D 12 and Vulkan over previous APIs. Optimal performance will be achieved by using as many CPU threads as there are available to record command lists. There are no hidden driver threads in Direct3D 12 and Vulkan that could interfere with you – all the threading performance comes directly from the application.



EASTL stands for Electronic Arts Standard Template Library. It is a C++ template library of containers, algorithms, and iterators useful for runtime and tool development across multiple platforms. It is a fairly extensive and robust implementation of such a library and has an emphasis on high performance above all other considerations.


Ion is a portable suite of libraries and tools for building client applications,
especially graphical ones. It is small, fast, and robust, and is cross-platform
across many platforms and devices, including desktops, mobile devices, browsers,
and other embedded platforms.

Why Use Ion?
* Small: < 500k binary size on mobile platforms, often much smaller
* Powerful: Tools for faster productivity when developing applications
  * Robust, portable application infrastructure aids in:
  * Object lifetime management
  * Memory allocation
  * Application start-up and static instances
  * Threading
  * Run-time setting editing
  * Automatic performance instrumentation
  * More!
* Tools for graphics:
  * Analyze graphics scenes to find performance bottleneck
  * Trace all OpenGL calls and examine their arguments
  * Use scene resources in multiple contexts, automatically
  * Run-time graphics state introspection
  * Run-time shader editing: change your shaders and immediately see the results
* Fast graphics: Minimal overhead between your application and OpenGL / ES
* Tested: Well-tested and facilitates testing your application
  * ~100% test coverage
  * Black- and white-box tested, unit tests and integration tests
  * Mock implementation of OpenGL API allows direct renderer unit tests and
  * Integrated Remote: extensible API allows changing arbitrary application
    settings on-the-fly for faster development, testing, and debugging
* Cross-platform:
  * Desktop: Linux, Mac OSX, Windows (OpenGL)
  * Handheld: Android (ARM, x86 MIPS), iOS (ARM and x86), and their 64-bit
  * Browser: Emscripten/asm.js, NaCl / pNaCl
* Cross-functional
  * Used by many teams across Google, running on billions of devices through
    multiple Google products


3D-Tech News Around The Web / Videogames released since 1971
« on: February 09, 2016, 09:11:05 AM »
Mobygames stats released on January 15 2016:


English forum / Shadertoy multipass demos
« on: February 07, 2016, 08:33:15 PM »
I'm preparing a small framework (Lua) for Shadertoy multipass demos.

This simple (and pleasing) multipass demo works fine in GeeXLab:

English forum / GeeXLab released
« on: February 07, 2016, 05:45:05 PM »

English forum / How to build User Interfaces and 2D Shapes with NanoVG
« on: February 05, 2016, 04:28:07 PM »
The support of NanoVG is one of the latest features of GeeXLab Here is a tutorial to use new NanoVG functions of GeeXLab:

3D-Tech News Around The Web / Vulkan Memory Management
« on: February 05, 2016, 03:51:00 PM »
Vulkan offers another key difference to OpenGL with respect to memory allocation. When it comes to managing memory allocations as well as assigning it to individual resources, the OpenGL driver does most of the work for the developer. This allows applications to be developed, tested and deployed very quickly. In Vulkan however, the programmer takes responsibility meaning that many operations that OpenGL orchestrates heuristically can be orchestrated based on an absolute knowledge of the resource lifecycle.


English forum / GeeXLab released
« on: February 04, 2016, 08:27:10 PM »
GeeXLab is available for all platforms (win64 / win32, Mac OS X, Linux and Raspberry Pi).

More information:

3D-Tech News Around The Web / WebGL - Play serious games in your browser
« on: February 03, 2016, 08:17:30 PM »
No plug-ins, no installing anything, just go to the site.

WebGL is the only way to run a 3D app on Windows, Mac, and Android, etc., with no source changes. The first and only time this has ever been possible – in the known universe! And as Apple fragments the native API landscape with Metal – this portability becomes even more valuable.


3D-Tech News Around The Web / Serious Sam 4 Will Use Vulkan
« on: February 02, 2016, 12:07:49 PM »
In related news, Croteam has also confirmed that Serious Sam 4 will support the Vulkan API, and that it will be powered by a much improved version of the Serious Engine.

As Croteam’s Alen Ladavac wrote on Steam:
"We will support Vulkan. But we probably won’t be removing support for other APIs soon."


- Performance/Quality improvements and an AMD Crossfire™ profile is available for Rise of the Tomb Raider™

- An AMD Crossfire™ profile is available for Fallout 4

- AMD Crimson 16.1.1 Hotfix DOWNLOAD

This is a D3D11 sample app that demonstrates several techniques for rendering real-time shadow maps. The following techniques are implemented:

    Cascaded Shadow Maps
    Stabilized Cascaded Shadow Maps
    Automatic Cascade Fitting based on depth buffer analysis, as in Sample Distribution Shadow Maps.
    Various forms of Percentage Closer Filtering
    Variance Shadow Maps
    Exponential Variance Shadow Maps (EVSM)
    Moment Shadow Maps


Pages: 1 [2] 3 4 ... 30