Sunday, August 06, 2017

Vulkan SDK and building your first demo

i wanted to build my own texture mapped rotating cube from an empty project. haven't gotten that conpleted yet because i spent quite a bit of time exploring what was in the lunarG SDK.

after looking at the DEMOS directory I decided to see what it would take to build that source in another separate project. here's what i wrote down along the way:

Building a basic vulkan sdk app based on the Vulkan SDK DEMO (not sample)….  cube.c located in the directory: C:\VulkanSDK\\Demos

  1. Actually create a *.c file instead of a *.cpp file..because there are non MSVC C++ compiler 'features' exploited like init'ing structs without the full declarations.
  2. Change to an x64 build instead of x86 (you can find a way out of this but I don't need a 32 bit app anymore)
  3. Add the path to the include directories to the Vulkan SDK includes: C:\VulkanSDK\\Include
  4. Change the character set to 'not set' because they didn't use unicode
  5. Add a library path: The library path needs to include the path that points to vulkan-1.lib, something like: C:\VulkanSDK\\Lib
  6. Add the library to the library line: vulkan-1.lib
  7. Copy the set of -D flags from cube.c to the new workspace. I don't know/care exactly what the flags are right now, but mostly this sorts through the various Oss for WinMain vs. main for example. 
  8. Copy cube_frag.spv and cube_vert.spv to the directory. I will look at the source for these shaders in the future, not right now. This is specifically for the DEMOs.

From what I can tell, [1] is leveraging some default compiler behavior to initialize non initialized values. 
To resolve the 'unrsesolved WinMain() see [6]'

Wednesday, May 03, 2017

Can I have multiple versions of the Windows SDK installed and switch between them?


when you compile in Visual Studio it will give you the option of which SDK to link to. sweetness.

Tuesday, May 02, 2017

Windows SDK errors about incompatible versions...

Got an error along the lines of 'hey, your version of the Windows SDK is newer than the one this project/solution was built with', retarget the solution or the projects. Trying to use the retarget option off of the right mouse menu for the solution did not work. Going to each individual project (thank goodness there were only three of them!), select properties, select a new 'Target Platform Version' seemed to get me through this issue. 

Sunday, April 23, 2017

Vsync explanation

Posting this to read later, because inevitably we all need a vsync refresh from time to time :)

This was linked from Mike Abrash's blog here:

Sunday, February 12, 2017

favorite excel amortization table example

Saturday, February 04, 2017

how long to hold RSUs and SPP

Hold SPP shares for at least two years to avoid a disqualifying disposition.
Hold RSU shares for at least one year.

Sunday, January 29, 2017

BLAS clarifications

found the parameters lda, ldb and ldc very hard to interpret.
Fortunately, found this article:

that had a key sentence:
  • Matrices A and B, each followed by its leading dimension descriptor. This is the length of one row in row-major order, or the length of one column in column-major order,
  • a scalar factor β with which the elements of the matrix C are multiplied, before its contents are added to the result of 

thanks dude!

Monday, January 16, 2017

Visual Studio Code

in ubuntu linux : /usr/bin/code is the binary

Monday, January 09, 2017

General Unix Commands

wanna find a complete library path in linux?  try: ldconfig -p | grep libOpenCL
find -name foo.txt finds a file in a directory structure, seems default is recursive descent 

Friday, December 30, 2016

Quick Python notes

In python shell, use execfile('') to execute directly in the shell. Mostly trivia, not a good way to do things but don't want to look this up again if it comes up.