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 ... 45
1
Intel Metrics Discovery Application Programming Interface is a user mode library that provides access to GPU performance data. The library has OS abstraction layer that allows for interoperability in different environments.

Supported processors: Intel processors with Gen9 graphics devices:
- formerly Skylake (SKL),
- formerly Kabylake (KBL),
- formerly Apollo Lake/Broxton (APL/BXT).

Link: https://github.com/intel/metrics-discovery

2
GeeXLab - english forum / (WIP) GL-Z 0.4.0
« on: April 25, 2018, 02:57:58 PM »
The return of GL-Z...



3
3D-Tech News Around The Web / Vulkan Capability Viewer 1.6 released
« on: April 25, 2018, 11:38:08 AM »
Vulkan Hardware Capability Viewer is an application to display hardware implementation details for GPUs supporting the Vulkan API.

Quote
1.6 - 2018-04-24
- Support for new extensions:
    VK_KHR_push_descriptor
- Added YCBCR formats

Downloads:
- DOWNLOAD win64
- Other downloads



4
Quote
Samsung Electronics Sets New Performance Standards for NVMe SSDs with 970 PRO and EVO

New 970 series enables high-performance computing through enhanced speed, exceptional endurance and system design flexibility

RIDGEFIELD PARK, N.J.  – April 24, 2018 – Samsung Electronics America, Inc., today introduced the Samsung 970 PRO and EVO, the third generation of its industry-leading consumer solid state drive (SSD) lineup. Having led the market with the first consumer-focused NVMe SSD in 2015, Samsung continues to push the performance barriers with this latest generation of SSDs that are built for tech enthusiasts and professionals so that they can enjoy higher bandwidth for intensive workloads on PCs and workstations.

“Samsung has led the NVMe SSD industry since its inception, and the company continues to define the latest standards of consumer storage with unprecedented performance of the 970 PRO and EVO SSDs,” said Un-Soo Kim, senior vice president of Brand Product Marketing, Memory Business at Samsung Electronics. “The 970 series sets a new bar in all aspects for the NVMe SSD market with groundbreaking performance, superior reliability and best-in-class capacity.”

The Samsung 970 PRO and EVO are designed based on the M.2 form factor standard and with the latest PCIe Gen 3×4 lane interface.The 970 series maximizes the potential of NVMe bandwidth, delivering unparalleled performance for processing large volumes of data, including 3D, 4K graphics work, high-end games and data analytics.

The 970 PRO enables sequential read speed of up to 3,500 MB/s and sequential write speed of up to 2,700 MB/s[1], while the EVO features sequential read speed of up to 3,500 MB/s and sequential write speed of up to 2,500 MB/s[2]. The sequential write speeds represent an enhancement of up to 30 percent over the previous generation[3], thanks to Samsung’s latest V-NAND technology and the newly designed Phoenix controller. The 970 EVO, in particular, utilizes the Intelligent TurboWrite technology, which uses a large buffer size of up to 78GB[4]to enable faster write speeds.

In addition to the advancements in performance levels, the 970 PRO and EVO deliver exceptional endurance and reliability. Featuring a five-year warranty[5], or up to 1,200 terabytes written[6]– 50 percent higher than those provided for the previous generation[7]– the 970 PRO and EVO are built to last. The Dynamic Thermal Guard technology safeguards against overheating by automatically monitoring and maintaining optimal operating temperatures, while a heat spreader and new nickel-coated controller further lower the SSD temperatures.

The 970 PRO and EVO also provide greater system design flexibility for the high-performance computing systems. Offering a variety of high capacity options in a compact M.2 form factor – including the single-sided 2TB EVO model – the 970 series enables convenient storage expansion across a wide range of computing devices.

The 970 EVO will be offered in 250GB, 500GB, 1TB and 2TB[8]capacities, and the 970 PRO in 512GB and 1TB capacities. The 970 PRO and EVO will be available for purchase worldwide starting May 7, 2018, with manufacturer’s suggested retail prices starting at $329.99 and $119.99USD, respectively. For more information, including warranty details, please visit www.samsung.com/SSD, www.samsungssd.com.

Source: https://news.samsung.com/us/samsung-970-pro-970-evo-nvme-ssds/



5
3D-Tech News Around The Web / Sandcat browser 6.0 (Chromium + Lua)
« on: April 24, 2018, 03:04:58 PM »
Sandcat is a lightweight multi-tabbed web browser that combines the speed and power of Chromium and Lua. Sandcat comes with built-in live headers, an extensible user interface and command line console, resource viewer, and many other features that are useful for web developers and pen-testers and when you need to examine live web applications.

Links:
- Sandcat homepage
- Sandcat downloads
- Sandcat @ ghithub

6
GeeXLab - english forum / Heightmap Normal Computing
« on: April 24, 2018, 02:02:47 PM »
How to compute the normal vector of a heightmap y=f(x, z)?

http://www.geeks3d.com/hacklab/20180424/demo-heightmap-normal-computing/

The demo is available for OpenGL 3.2 capable graphics hardware. This demo can be easily converted to OpenGL 2.1 or OpenGL ES is necessary.


7
Quote
Compilers are known for doing all sorts of cool optimizations on the source code, generating very efficient assembly code. You can expect that there will be no useless computations in the compiled code. Even if you leave those inefficiencies, most major compilers will optimize everything away. Moreover, compilers are aware (to some degree) about microarchitectural details of the target CPU. So, it may seems that compiler is the one who is in charge for performance, but it’s not.

Modern high-end CPUs are also known to be really greedy when it comes for performance, and they also do amazing job at running assembly code super-fast. In this post I tried to show what optimizations you can rely on, and what patterns are still beyond CPU capabilities.

Link: https://dendibakh.github.io/blog/2018/04/22/What-optimizations-you-can-expect-from-CPU

8
GeeXLab - english forum / How to enable LuaJIT in GeeXLab
« on: April 23, 2018, 03:50:11 PM »
LuaJIT is available in GeeXLab on Windows and Linux. Here is a short post that explains how to use LuaJIT engine in place of regular Lua engine:

http://www.geeks3d.com/hacklab/20180423/how-to-enable-luajit-in-geexlab/


9
Possible specs:
- GPU: GT104 12nmFinFET - base: 1600MGh - boost: 1800MHz
- Shader cores: 3584
- Texture units: 224
- ROPs: 64
- Memory: 8 or 16GB GDDR6, 256-bit interface
- FP32 performance: 13TFLOPS

The launch is planned for Q3 2018 (July) at $699.

Links:
- https://www.extremetech.com/gaming/267982-nvidia-gtx-1180-specs-allegedly-leaked
- https://wccftech.com/nvidia-geforce-gtx-1180-specs-performance-price-release-date-prelimenary/

10
GeeXLab - english forum / GeeXLab 0.23.0.0 released
« on: April 23, 2018, 02:23:47 PM »
GeeXLab 0.23.0.0 is available for Windows 64/32-bit.

Downloads: http://www.geeks3d.com/geexlab/downloads/

Changelog:
Quote
Version 0.23.0.0 - 2018.04.22
-----------------------------
+ added shader_thread_group_get_properties_nv() to gh_renderer (lua, python).
+ added conservative_rasterization_get_properties_nv() and
  conservative_rasterization_set_sub_pixel_precision_bias_nv() to gh_renderer (lua, python).
+ added support of GL_INTEL_conservative_rasterization and GL_NV_conservative_raster.
+ Vulkan: added vk_shader_core_properties_amd_get_value() to gh_renderer lib (lua, python).
+ added get_view_matrix_4x4() and get_projection_matrix_4x4() to gh_camera lib (lua, python).
+ added set_transform() and get_transform() to gh_object lib (lua, python).
* fixed gh_physx3.create_actor_mesh_v2(). Convex meshes can now be used
  in rigid body collisions.
! updated internal functions to set object transformation. Now position and orientation
  are updated when an object is updated with a transformation matrix.
! updated Vulkan plugin with latest Vulkan 1.1.74 headers.

Full changelog: http://www.geeks3d.com/geexlab/changelog/

11
GeeXLab - english forum / (WIP) Kapla blocks game prototype with PhysX
« on: April 19, 2018, 04:54:53 PM »
I received this screenshot from a GeeXLab user that is developing a micro-game based on Kapla constructions blocks. This is currently a prototype and I don't know if a game based on this prototype will be released in the future. But it looks cool. All blocks are managed by the PhysX 3 engine.





12
GeeXLab - english forum / GeeXLab howto / code snippets
« on: April 04, 2018, 10:28:19 AM »
I added a new HowTo page with code snippets (lua or python) that are widely used in GeeXLab demos:

http://www.geeks3d.com/geexlab/howto/

I will regularly update this page with new code snippets.

The following code snippets are currently available:
Quote
    How to create and resize a 3D camera
    How to create and resize a 2D camera
    How to create a reference grid
    How to load a 2D texture
    How to load a 2D texture with ImageMagick plugin
    How to load a 3D model with ASSIMP plugin
    How to create and use an orbit 3D camera
    How to generate a random number
    How to do color blending
    How to do create a GPU program from Lua buffers
    How to set the vertices color of a quad
    How to rotate an object with quaternions
    How to create and use a render target



13
GeeXLab - english forum / (Shadertoy to GeeXLab) Heeelix
« on: April 04, 2018, 10:00:13 AM »
The heeelix demo has been ported to GeeXLab:

More information and download links:
http://www.geeks3d.com/hacklab/20180404/shadertoy-to-geexlab-heeelix/


14
How to code a vertical separator with smooth edges:

Article + Demo: http://www.geeks3d.com/hacklab/20180403/smoothstep-based-vertical-image-separator-in-glsl/


15
GeeXLab - english forum / ImageMagick plugin: image formats
« on: April 03, 2018, 07:34:08 PM »
Here is the list of all image formats (around 200) supported by the Windows version of the ImageMagick plugin (added in GeeXLab 0.19.0):

Quote
(17:16:06:141) [ImageMagick] Image formats:
(17:16:06:142) [ImageMagick] 3FR
(17:16:06:142) [ImageMagick] 3G2 3GP A AAI AI ART ARW AVI AVS B
(17:16:06:142) [ImageMagick] BGR BGRA BGRO BMP BMP2 BMP3 BRF C CAL CALS
(17:16:06:142) [ImageMagick] CANVAS CAPTION CIN CIP CLIP CLIPBOARD CMYK CMYKA CR2 CRW
(17:16:06:142) [ImageMagick] CUR CUT DCM DCR DCX DDS DFONT DNG DPX DXT1
(17:16:06:142) [ImageMagick] DXT5 EMF EPDF EPI EPS EPS2 EPS3 EPSF EPSI EPT
(17:16:06:142) [ImageMagick] EPT2 EPT3 ERF EXR FAX FILE FITS FLIF FRACTAL FTP
(17:16:06:142) [ImageMagick] FTS G G3 G4 GIF GIF87 GRADIENT GRAY GROUP4 HALD
(17:16:06:142) [ImageMagick] HDR HISTOGRAM HRZ HTM HTML HTTP HTTPS ICB ICO ICON
(17:16:06:142) [ImageMagick] IIQ INFO INLINE IPL ISOBRL ISOBRL6 J2C J2K JNG JNX
(17:16:06:142) [ImageMagick] JP2 JPC JPE JPEG JPG JPM JPS JPT JSON K
(17:16:06:142) [ImageMagick] K25 KDC LABEL M M2V M4V MAC MAP MASK MAT
(17:16:06:142) [ImageMagick] MATTE MEF MIFF MKV MNG MONO MOV MP4 MPC MPEG
(17:16:06:142) [ImageMagick] MPG MRW MSL MSVG MTV MVG NEF NRW NULL O
(17:16:06:142) [ImageMagick] ORF OTB OTF PAL PALM PAM PANGO PATTERN PBM PCD
(17:16:06:142) [ImageMagick] PCDS PCL PCT PCX PDB PDF PDFA PEF PES PFA
(17:16:06:142) [ImageMagick] PFB PFM PGM PGX PICON PICT PIX PJPEG PLASMA PNG
(17:16:06:142) [ImageMagick] PNG00 PNG24 PNG32 PNG48 PNG64 PNG8 PNM PPM PS PS2
(17:16:06:142) [ImageMagick] PS3 PSB PSD PTIF PWP R RADIAL-GRADIENT RAF RAS RAW
(17:16:06:142) [ImageMagick] RGB RGBA RGBO RGF RLA RLE RMF RW2 SCR SCREENSHOT
(17:16:06:142) [ImageMagick] SCT SFW SGI SHTML SIX SIXEL SPARSE-COLOR SR2 SRF STEGANO
(17:16:06:142) [ImageMagick] SUN SVG SVGZ TEXT TGA THUMBNAIL TIFF TIFF64 TILE TIM
(17:16:06:142) [ImageMagick] TTC TTF TXT UBRL UBRL6 UIL UYVY VDA VICAR VID
(17:16:06:142) [ImageMagick] VIFF VIPS VST WBMP WEBP WMF WMV WPG X3F XBM

Source: http://www.geeks3d.com/hacklab/20180402/list-of-image-formats-supported-by-the-imagemagick-plugin/


16
GeeXLab - english forum / RhodiumLC 0.1.1 released
« on: April 03, 2018, 07:25:24 PM »
RhodiumLC is a simple pixel shader benchmark based on a shadertoy demo. RhodiumLC has been updated to version 0.1.1 and versions for Linux and macOS are now available.

Complete story and downloads links:
http://www.geeks3d.com/20180126/rhodiumlc-pixel-shader-gpu-benchmark-opengl/#20180403





 

17
Quote
This talk, presented at GDC 2018, covers some of the main rendering technologies used on Volition’s ‘Agents of Mayhem’. The presentation includes Volition’s adaptation of Weighted Blended Order-Independent Transparency for use with additive as well as non-additive alpha. Also covered is Volition’s approach to tile-based deferred shading, which breaks shading into multiple shaders applied per tile based on feature sets to improve SIMD occupancy. Volition’s implementation of light-blockers, which extend standard light-clip planes to finite rectangles instead of only infinite planes is also be covered, as well as how these light-blockers can be applied to Light Propagation Volumes for GI to greatly reduce light leakage.

Links:
- http://www.dsvolition.com/publications/rendering-technology-in-agents-of-mayhem/
- http://www.dsvolition.com/wp-content/uploads/2018/03/Rendering%20Technology%20in%20Agents%20of%20Mayhem.pptx

18
3D-Tech News Around The Web / D3D12 Raytracing Fallback Layer
« on: April 02, 2018, 08:16:02 AM »
Quote
The D3D12 Raytracing Fallback Layer is a library that emulates the DirectX Raytracing API on devices without native driver/hardware support.

The library is built as a wrapper around the DirectX 12 API and has distinct but similar interfaces from the DirectX Raytracing (DXR) API. The library also redirects to the DXR API when driver support exists, so developers do not need to branch code to support the DXR API simultaneously.

The goal of the Fallback Layer is to enable developers to hit the ground running with the new DXR API without the need for a GPU with hardware support and a DXR capable variant of Windows. As of the GDC release, the Fallback Layer is in an early prototype stage and is a limited substitute for a DXR driver, particularly in terms of performance. A future goal of this project is to tune the Fallback to be performant enough for real-world scenarios in lieu of a DXR driver for small-scale raytracing techniques.

Links:
- https://github.com/Microsoft/DirectX-Graphics-Samples/tree/master/Libraries/D3D12RaytracingFallback
- DXR forum: http://forums.directxtech.com/index.php?board=248.0

19
Quote
Particle-based methods like smoothed particle hydrodynamics (SPH) are increasingly adopted for large-scale fluid simulation in interactive computer graphics. However, surface rendering for such dynamic particle sets is challenging: current methods either produce low-quality results, or they are time consuming. In this paper, we introduce a novel approach to render high-quality fluid surfaces in screen space. Our method combines the techniques of particle splatting, ray-casting, and surface-normal estimation. We apply particle splatting to accelerate the ray-casting process, estimating the surface normal using principal component analysis (PCA) and a GPU-based technique to further accelerate our method. Our method can produce high-quality smooth surfaces while preserving thin and sharp details of large-scale fluids. The computation and memory cost of our rendering step depends only on the image resolution. These advantages make our method very suitable for previewing or rendering hundreds of millions of particles interactively. We demonstrate the efficiency and effectiveness of our method by rendering various fluid scenarios with different-sized particle sets.

Links:
- http://www.jcgt.org/published/0007/01/02/
- http://www.jcgt.org/published/0007/01/02/paper.pdf
- http://www.jcgt.org/published/0007/01/02/paper-lowres.pdf

20
Quote
New generation, explcit graphics APIs (Vulkan and DirectX 12) are more efficient, involve less CPU overhead. Part of it is that they don't check most errors. In old APIs (Direct3D 9, OpenGL) every function call was validated internally, returned success of failure code, while driver crash indicated a bug in driver code. New APIs, on the other hand, rely on developer doing the right thing. Of course some functions still return error code (especially ones that allocate memory or create some resource), but those that record commands into a command buffer just return void. If you do something illegal, you can expect undefined behavior. You can use Validation Layers / Debug Layer to do some checks, but otherwise everything may work fine on some GPUs, you may get incorrect result, or you may experience driver crash or timeout (called "TDR"). Good thing is that (contrary to old Windows XP), crash inside graphics driver doesn't cause "blue screen of death" or machine restart. System just restarts graphics hardware and driver, while your program received VK_ERROR_DEVICE_LOST code from one of functions like vkQueueSubmit. Unfortunately, you then don't know which specific draw call or other command caused the crash.

NVIDIA proposed solution for that: they created NVIDIA Aftermath library. It lets you (among other things) record commands that write custom "marker" data to a buffer that survives driver crash, so you can later read it and see which command was successfully executed last. Unfortunately, this library works only with NVIDIA graphics cards and only in D3D11 and D3D12.

I was looking for similar solution for Vulkan. When I saw that Vulkan can "import" external memory, I thought that maybe I could use function vkCmdFillBuffer to write immediate value to such buffer and this way implement the same logic. I then started experimenting with extensions: VK_KHR_get_physical_device_properties_2, VK_KHR_external_memory_capabilities, VK_KHR_external_memory, VK_KHR_external_memory_win32, VK_KHR_dedicated_allocation. I was basically trying to somehow allocate a piece of system memory and import it to Vulkan to write to it as Vulkan buffer. I tried many things: CreateFileMapping + MapViewOfFile, HeapCreate + HeapAlloc and other ways, with various flags, but nothing worked for me. I also couldn't find any description or sample code of how these extensions could be used in Windows to import some system memory as Vulkan buffer.

Everything changed when I learned that creating normal device memory and buffer inside Vulkan is enough! It survives driver crash, so its content can be read later via mapped pointer. No extensions required. I don't think this is guaranteed by specification, but it seems to work on both AMD and NVIDIA cards.

...

Links:
- http://asawicki.info/news_1677_debugging_vulkan_driver_crash_-_equivalent_of_nvidia_aftermath.html
- https://github.com/sawickiap/MISC/blob/master/VulkanAfterCrash.h

Pages: [1] 2 3 ... 45