Explorar el Código

* refactored generator

* added extensions to vulkan.pas
* added some comments to vulkan.pas
master
Bergmann89 hace 10 años
padre
commit
9e8a8aa19f
Se han modificado 11 ficheros con 7407 adiciones y 3080 borrados
  1. +29
    -0
      data/Vulkan.inc
  2. +93
    -33
      data/vulkan.tpl
  3. +29
    -0
      projects/Vulkan.inc
  4. +3928
    -2057
      projects/Vulkan.pas
  5. +1045
    -760
      projects/generator/HeaderGenerator.pas
  6. +2
    -1
      projects/generator/generator.lpi
  7. +4
    -3
      projects/generator/generator.lpr
  8. +144
    -97
      projects/generator/generator.lps
  9. +1997
    -0
      projects/generator/uutlGenerics.pas
  10. +135
    -129
      projects/triangle/triangle.lps
  11. +1
    -0
      projects/utils/uvkuInstance.pas

+ 29
- 0
data/Vulkan.inc Ver fichero

@@ -0,0 +1,29 @@
{$IFDEF FPC}
{$MODE Delphi}
{$IFNDEF WINDOWS}
{$LINKLIB c}
{$ENDIF}
{$MINENUMSIZE 4}
{$ENDIF}

{$IFDEF Win32}
{$DEFINE VK_WIN}
{$DEFINE VK_WIN32}
{$DEFINE VK_USE_PLATFORM_WIN32_KHR}
{$ENDIF}

{$IFDEF Win64}
{$DEFINE VK_WIN}
{$DEFINE VK_WIN64}
{$DEFINE VK_USE_PLATFORM_WIN32_KHR}
{$ENDIF}

{$IFDEF linux}
{$DEFINE VK_LINUX}
{$DEFINE VK_CDECL}
{$ENDIF}

{$IFDEF DARWIN}
{$DEFINE VK_MAC}
{$DEFINE VK_CDECL}
{$ENDIF}

+ 93
- 33
data/vulkan.tpl Ver fichero

@@ -1,47 +1,90 @@
{ ============================================================================
This file is autogenerated from vk.xml
You may retrieve the latest version of this file at the Delphi OpenGL
Community home page, located at http://www.delphigl.com/
The contents of this file are used with permission, subject to
the Mozilla Public License Version 1.1 (the "License"); you may
not use this file except in compliance with the License. You may
obtain a copy of the License at
http://www.mozilla.org/MPL/MPL-1.1.html
Software distributed under the License is distributed on an
"AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
implied. See the License for the specific language governing
rights and limitations under the License.

Original vk.xml comment:
==============================================================================
{%COMMENT%}
============================================================================ }
unit Vulkan;

{$IFDEF FPC}
{$MODE Delphi}
{$IFNDEF WINDOWS}
{$LINKLIB c}
{$ENDIF}
{$MINENUMSIZE 4}
{$ENDIF}

{$IFDEF Win32}
{$DEFINE VK_WIN}
{$ENDIF}

{$IFDEF Win64}
{$DEFINE VK_WIN}
{$ENDIF}

{$IFDEF linux}
{$DEFINE VK_LINUX}
{$DEFINE VK_CDECL}
{$ENDIF}

{$IFDEF DARWIN}
{$DEFINE VK_MAC}
{$DEFINE VK_CDECL}
{$ENDIF}
{$I Vulkan.inc}

interface

type
HINSTANCE = THandle;
HWND = THandle;

VkHandle = Pointer;
VkUint8 = Byte;
VkUint16 = Word;
VkUint32 = Cardinal;
VkUint64 = QWord;
VkInt16 = SmallInt;
VkInt32 = Integer;
VkInt64 = Int64;
VkFloat = Single;
VkDouble = Double;
VkChar = AnsiChar;
VkSize = SizeUInt;

PVkVoid = Pointer;
PVkHandle = ^VkHandle;
PVkUint8 = ^VkUint8;
PVkUint16 = ^VkUint16;
PVkUint32 = ^VkUint32;
PVkUint64 = ^VkUint64;
PVkInt16 = ^VkInt16;
PVkInt32 = ^VkInt32;
PVkInt64 = ^VkInt64;
PVkFloat = ^VkFloat;
PVkDouble = ^VkDouble;
PVkChar = ^VkChar;
PVkSize = ^VkSize;
PPVkVoid = ^PVkVoid;
PPVkHandle = ^PVkHandle;
PPVkUint8 = ^PVkUint8;
PPVkUint16 = ^PVkUint16;
PPVkUint32 = ^PVkUint32;
PPVkUint64 = ^PVkUint64;
PPVkInt16 = ^PVkInt16;
PPVkInt32 = ^PVkInt32;
PPVkInt64 = ^PVkInt64;
PPVkFloat = ^PVkFloat;
PPVkDouble = ^PVkDouble;
PPVkChar = ^PVkChar;
PPVkSize = ^PVkSize;

{%INTERFACE%}

const
VULKAN_LIBNAME = 'vulkan-1.dll';
VULKAN_LIBNAME = 'vulkan-1.dll';

type
VkVersion = VkInt32;

function vkMakeVersion(const aMajor, aMinor, aPatch: Integer): VkVersion;
function vkGetVersionMajor(const aVersion: VkVersion): Integer;
function vkGetVersionMinor(const aVersion: VkVersion): Integer;
function vkgetVersionPatch(const aVersion: VkVersion): Integer;
function vkMakeVersion(const aMajor, aMinor, aPatch: Integer): VkVersion; inline;
function vkGetVersionMajor(const aVersion: VkVersion): Integer; inline;
function vkGetVersionMinor(const aVersion: VkVersion): Integer; inline;
function vkGetVersionPatch(const aVersion: VkVersion): Integer; inline;

function InitializeVulkan(const aLibName: String = VULKAN_LIBNAME): Boolean;
procedure LoadVulkanCommands(const aInstance: VkInstance);
procedure FinalizeVulkan;

implementation
@@ -72,10 +115,17 @@ begin
{$ENDIF}
end;

function vkGetProcAddress(const aProcName: String; aLibHandle: TvkLibHandle = InvalidLibHandle): Pointer;
function vkGetProcAddress(const aProcName: String; aInstance: VkInstance = nil; aLibHandle: TvkLibHandle = InvalidLibHandle): TvkVoidFunction;
begin
result := nil;
if (aLibHandle = InvalidLibHandle) then
aLibHandle := vkLibHandle;
if Assigned(vkGetInstanceProcAddr) then begin
result := vkGetInstanceProcAddr(aInstance, PVkChar(aProcName));
if Assigned(result) then
exit;
end;
{$IF DEFINED(VK_WIN)}
result := GetProcAddress(aLibHandle, AnsiString(aProcName));
{$ELSE}
@@ -83,6 +133,11 @@ begin
{$ENDIF}
end;

procedure vkLoadAddresses(const aInstance: VkInstance = nil);
begin
{%IMPLEMENTATION%}
end;

procedure vkFreeLibrary(var aLibHandle: TvkLibHandle);
begin
if (aLibHandle <> InvalidLibHandle) then begin
@@ -120,10 +175,15 @@ begin
result := (vkLibHandle <> InvalidLibHandle);
if not result then
exit;
{%IMPLEMENTATION%}
vkGetInstanceProcAddr := TvkGetInstanceProcAddr(vkGetProcAddress('vkGetInstanceProcAddr'));
vkLoadAddresses(nil);
end;

procedure LoadVulkanCommands(const aInstance: VkInstance);
begin
vkLoadAddresses(aInstance);
end;

procedure FinalizeVulkan;
begin
vkFreeLibrary(vkLibHandle);


+ 29
- 0
projects/Vulkan.inc Ver fichero

@@ -0,0 +1,29 @@
{$IFDEF FPC}
{$MODE Delphi}
{$IFNDEF WINDOWS}
{$LINKLIB c}
{$ENDIF}
{$MINENUMSIZE 4}
{$ENDIF}

{$IFDEF Win32}
{$DEFINE VK_WIN}
{$DEFINE VK_WIN32}
{$DEFINE VK_USE_PLATFORM_WIN32_KHR}
{$ENDIF}

{$IFDEF Win64}
{$DEFINE VK_WIN}
{$DEFINE VK_WIN64}
{$DEFINE VK_USE_PLATFORM_WIN32_KHR}
{$ENDIF}

{$IFDEF linux}
{$DEFINE VK_LINUX}
{$DEFINE VK_CDECL}
{$ENDIF}

{$IFDEF DARWIN}
{$DEFINE VK_MAC}
{$DEFINE VK_CDECL}
{$ENDIF}

+ 3928
- 2057
projects/Vulkan.pas
La diferencia del archivo ha sido suprimido porque es demasiado grande
Ver fichero


+ 1045
- 760
projects/generator/HeaderGenerator.pas
La diferencia del archivo ha sido suprimido porque es demasiado grande
Ver fichero


+ 2
- 1
projects/generator/generator.lpi Ver fichero

@@ -50,7 +50,8 @@
<Filename Value="generator-$(TargetCPU)-$(TargetOS)"/>
</Target>
<SearchPaths>
<IncludeFiles Value="$(ProjOutDir)"/>
<IncludeFiles Value="$(ProjOutDir);.."/>
<OtherUnitFiles Value=".."/>
<UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/>
</SearchPaths>
<Linking>


+ 4
- 3
projects/generator/generator.lpr Ver fichero

@@ -7,7 +7,9 @@ uses
cthreads,
{$ENDIF}{$ENDIF}
Classes, SysUtils,
HeaderGenerator;
HeaderGenerator
, Vulkan
;

var
InputFile: String;
@@ -66,9 +68,8 @@ begin

gen := THeaderGenerator.Create;
try
gen.OutputFile := OutputFile;
gen.TemplateFile := TemplateFile;
gen.ReadFile(InputFile);
gen.GenerateCode('vulkan', TemplateFile, OutputFile);
finally
FreeAndNil(gen);
end;


+ 144
- 97
projects/generator/generator.lps Ver fichero

@@ -4,22 +4,21 @@
<PathDelim Value="\"/>
<Version Value="9"/>
<BuildModes Active="Default"/>
<Units Count="20">
<Units Count="25">
<Unit0>
<Filename Value="generator.lpr"/>
<IsPartOfProject Value="True"/>
<IsVisibleTab Value="True"/>
<CursorPos X="47" Y="16"/>
<UsageCount Value="51"/>
<CursorPos Y="11"/>
<UsageCount Value="76"/>
<Loaded Value="True"/>
</Unit0>
<Unit1>
<Filename Value="HeaderGenerator.pas"/>
<IsPartOfProject Value="True"/>
<EditorIndex Value="1"/>
<TopLine Value="746"/>
<CursorPos X="24" Y="756"/>
<UsageCount Value="51"/>
<EditorIndex Value="4"/>
<TopLine Value="1125"/>
<CursorPos X="36" Y="1134"/>
<UsageCount Value="76"/>
<Loaded Value="True"/>
</Unit1>
<Unit2>
@@ -27,7 +26,7 @@
<EditorIndex Value="-1"/>
<TopLine Value="5"/>
<CursorPos X="21" Y="27"/>
<UsageCount Value="28"/>
<UsageCount Value="26"/>
</Unit2>
<Unit3>
<Filename Value="C:\Zusatzprogramme\Lazarus\fpc\3.1.1\source\packages\fcl-xml\src\dom.pp"/>
@@ -35,40 +34,41 @@
<EditorIndex Value="-1"/>
<TopLine Value="102"/>
<CursorPos X="3" Y="118"/>
<UsageCount Value="14"/>
<UsageCount Value="12"/>
</Unit3>
<Unit4>
<Filename Value="C:\Zusatzprogramme\Lazarus\fpc\3.1.1\source\packages\fcl-xml\src\xmlutils.pp"/>
<EditorIndex Value="-1"/>
<TopLine Value="12"/>
<CursorPos X="3" Y="28"/>
<UsageCount Value="14"/>
<UsageCount Value="12"/>
</Unit4>
<Unit5>
<Filename Value="C:\Zusatzprogramme\Lazarus\fpc\3.1.1\source\rtl\objpas\sysutils\sysutilh.inc"/>
<EditorIndex Value="-1"/>
<TopLine Value="96"/>
<CursorPos X="19" Y="112"/>
<UsageCount Value="13"/>
<UsageCount Value="11"/>
</Unit5>
<Unit6>
<Filename Value="C:\Zusatzprogramme\Lazarus\fpc\3.1.1\source\rtl\objpas\sysutils\sysstrh.inc"/>
<EditorIndex Value="-1"/>
<TopLine Value="82"/>
<CursorPos X="10" Y="97"/>
<UsageCount Value="13"/>
<EditorIndex Value="6"/>
<TopLine Value="57"/>
<CursorPos X="10" Y="72"/>
<UsageCount Value="22"/>
<Loaded Value="True"/>
</Unit6>
<Unit7>
<Filename Value="C:\Zusatzprogramme\Lazarus\fpc\3.1.1\source\rtl\inc\systemh.inc"/>
<EditorIndex Value="-1"/>
<TopLine Value="96"/>
<CursorPos X="16" Y="111"/>
<UsageCount Value="10"/>
<UsageCount Value="8"/>
</Unit7>
<Unit8>
<Filename Value="C:\Zusatzprogramme\Lazarus\fpc\3.1.1\source\rtl\win\sysosh.inc"/>
<EditorIndex Value="-1"/>
<TopLine Value="6"/>
<TopLine Value="7"/>
<CursorPos X="3" Y="22"/>
<UsageCount Value="10"/>
</Unit8>
@@ -77,21 +77,22 @@
<EditorIndex Value="-1"/>
<TopLine Value="2438"/>
<CursorPos X="19" Y="2443"/>
<UsageCount Value="13"/>
<UsageCount Value="11"/>
</Unit9>
<Unit10>
<Filename Value="C:\Zusatzprogramme\Lazarus\fpc\3.1.1\source\rtl\objpas\objpas.pp"/>
<EditorIndex Value="-1"/>
<TopLine Value="20"/>
<CursorPos X="23" Y="35"/>
<UsageCount Value="10"/>
<UsageCount Value="8"/>
</Unit10>
<Unit11>
<Filename Value="C:\Zusatzprogramme\Lazarus\fpc\3.1.1\source\rtl\objpas\fgl.pp"/>
<EditorIndex Value="-1"/>
<TopLine Value="168"/>
<CursorPos X="11" Y="187"/>
<UsageCount Value="13"/>
<EditorIndex Value="9"/>
<TopLine Value="1712"/>
<CursorPos Y="1735"/>
<UsageCount Value="23"/>
<Loaded Value="True"/>
</Unit11>
<Unit12>
<Filename Value="..\..\..\libTextSuite\OpenGlCore\dglOpenGL.pas"/>
@@ -99,35 +100,37 @@
<WindowIndex Value="1"/>
<TopLine Value="15048"/>
<CursorPos X="11" Y="14967"/>
<UsageCount Value="13"/>
<UsageCount Value="11"/>
</Unit12>
<Unit13>
<Filename Value="..\..\data\Vulkan.tpl"/>
<EditorIndex Value="-1"/>
<CursorPos X="40" Y="11"/>
<UsageCount Value="12"/>
<UsageCount Value="10"/>
<DefaultSyntaxHighlighter Value="None"/>
</Unit13>
<Unit14>
<Filename Value="C:\Zusatzprogramme\Lazarus\fpc\3.1.1\source\rtl\inc\dynlibh.inc"/>
<IsVisibleTab Value="True"/>
<EditorIndex Value="-1"/>
<WindowIndex Value="1"/>
<WindowIndex Value="-1"/>
<TopLine Value="35"/>
<CursorPos X="25" Y="55"/>
<UsageCount Value="11"/>
<UsageCount Value="9"/>
</Unit14>
<Unit15>
<Filename Value="C:\Zusatzprogramme\Lazarus\fpc\3.1.1\source\rtl\win\sysdlh.inc"/>
<EditorIndex Value="-1"/>
<CursorPos X="3" Y="17"/>
<UsageCount Value="10"/>
<UsageCount Value="8"/>
</Unit15>
<Unit16>
<Filename Value="..\Vulkan.pas"/>
<EditorIndex Value="-1"/>
<TopLine Value="27"/>
<UsageCount Value="11"/>
<IsVisibleTab Value="True"/>
<EditorIndex Value="1"/>
<TopLine Value="4610"/>
<CursorPos X="9" Y="4689"/>
<UsageCount Value="21"/>
<Loaded Value="True"/>
</Unit16>
<Unit17>
<Filename Value="..\Vulkan_new.pas"/>
@@ -135,148 +138,186 @@
<EditorIndex Value="-1"/>
<WindowIndex Value="1"/>
<TopLine Value="350"/>
<UsageCount Value="10"/>
<UsageCount Value="8"/>
</Unit17>
<Unit18>
<Filename Value="..\Vulkan_old.pas"/>
<UnitName Value="vulkan"/>
<EditorIndex Value="-1"/>
<WindowIndex Value="1"/>
<CursorPos X="41" Y="8"/>
<EditorIndex Value="3"/>
<TopLine Value="83"/>
<UsageCount Value="10"/>
<Loaded Value="True"/>
</Unit18>
<Unit19>
<Filename Value="..\..\..\SpaceCrush\src\openglcore\uglcContext.pas"/>
<EditorIndex Value="-1"/>
<TopLine Value="94"/>
<UsageCount Value="10"/>
<UsageCount Value="8"/>
</Unit19>
<Unit20>
<Filename Value="C:\Zusatzprogramme\Lazarus\fpc\3.1.1\source\rtl\objpas\classes\classesh.inc"/>
<EditorIndex Value="10"/>
<TopLine Value="693"/>
<CursorPos X="14" Y="708"/>
<UsageCount Value="21"/>
<Loaded Value="True"/>
</Unit20>
<Unit21>
<Filename Value="C:\Zusatzprogramme\Lazarus\fpc\3.1.1\source\rtl\objpas\sysutils\sysstr.inc"/>
<EditorIndex Value="7"/>
<TopLine Value="468"/>
<CursorPos X="5" Y="470"/>
<UsageCount Value="19"/>
<Loaded Value="True"/>
</Unit21>
<Unit22>
<Filename Value="C:\Zusatzprogramme\Lazarus\fpc\3.1.1\source\rtl\inc\ustringh.inc"/>
<EditorIndex Value="8"/>
<TopLine Value="89"/>
<CursorPos X="5" Y="104"/>
<UsageCount Value="19"/>
<Loaded Value="True"/>
</Unit22>
<Unit23>
<Filename Value="uutlGenerics.pas"/>
<EditorIndex Value="5"/>
<TopLine Value="1959"/>
<CursorPos X="18" Y="1974"/>
<UsageCount Value="19"/>
<Loaded Value="True"/>
</Unit23>
<Unit24>
<Filename Value="..\..\data\Vulkan.inc"/>
<EditorIndex Value="2"/>
<CursorPos X="19" Y="10"/>
<UsageCount Value="11"/>
<Loaded Value="True"/>
</Unit24>
</Units>
<JumpHistory Count="30" HistoryIndex="29">
<JumpHistory Count="30" HistoryIndex="28">
<Position1>
<Filename Value="HeaderGenerator.pas"/>
<Caret Line="810" Column="3" TopLine="803"/>
<Caret Line="437" TopLine="421"/>
</Position1>
<Position2>
<Filename Value="HeaderGenerator.pas"/>
<Caret Line="568" TopLine="552"/>
<Caret Line="1585" Column="38" TopLine="1583"/>
</Position2>
<Position3>
<Filename Value="HeaderGenerator.pas"/>
<Caret Line="569" TopLine="552"/>
<Caret Line="962" Column="24" TopLine="948"/>
</Position3>
<Position4>
<Filename Value="HeaderGenerator.pas"/>
<Caret Line="810" TopLine="794"/>
<Filename Value="..\Vulkan.pas"/>
<Caret Line="4443" Column="42" TopLine="4436"/>
</Position4>
<Position5>
<Filename Value="HeaderGenerator.pas"/>
<Caret Line="811" TopLine="794"/>
<Caret Line="1474" TopLine="1451"/>
</Position5>
<Position6>
<Filename Value="HeaderGenerator.pas"/>
<Caret Line="812" TopLine="794"/>
<Filename Value="..\Vulkan.pas"/>
<Caret Line="4425" Column="61" TopLine="4410"/>
</Position6>
<Position7>
<Filename Value="HeaderGenerator.pas"/>
<Caret Line="813" TopLine="794"/>
<Filename Value="..\Vulkan.pas"/>
<Caret Line="4431" Column="10" TopLine="4416"/>
</Position7>
<Position8>
<Filename Value="HeaderGenerator.pas"/>
<Caret Line="815" TopLine="794"/>
<Filename Value="..\Vulkan.pas"/>
<Caret Line="4427" Column="10" TopLine="4416"/>
</Position8>
<Position9>
<Filename Value="HeaderGenerator.pas"/>
<Caret Line="814" Column="42" TopLine="794"/>
<Filename Value="..\Vulkan.pas"/>
<Caret Line="4431" Column="36" TopLine="4416"/>
</Position9>
<Position10>
<Filename Value="HeaderGenerator.pas"/>
<Caret Line="817" TopLine="802"/>
<Filename Value="..\Vulkan.pas"/>
<Caret Line="4425" Column="21" TopLine="4416"/>
</Position10>
<Position11>
<Filename Value="HeaderGenerator.pas"/>
<Caret Line="818" TopLine="802"/>
<Filename Value="..\Vulkan.pas"/>
<Caret Line="4447" Column="57" TopLine="4432"/>
</Position11>
<Position12>
<Filename Value="HeaderGenerator.pas"/>
<Caret Line="821" TopLine="802"/>
<Filename Value="..\Vulkan.pas"/>
<Caret Line="4431" Column="76" TopLine="4410"/>
</Position12>
<Position13>
<Filename Value="HeaderGenerator.pas"/>
<Caret Line="822" TopLine="802"/>
<Filename Value="..\Vulkan.pas"/>
<Caret Line="4434" Column="26" TopLine="4416"/>
</Position13>
<Position14>
<Filename Value="HeaderGenerator.pas"/>
<Caret Line="823" TopLine="802"/>
<Filename Value="..\Vulkan.pas"/>
<Caret Line="4700" Column="19" TopLine="4683"/>
</Position14>
<Position15>
<Filename Value="HeaderGenerator.pas"/>
<Caret Line="821" Column="73" TopLine="802"/>
<Filename Value="..\Vulkan.pas"/>
<Caret Line="4393" Column="7" TopLine="4376"/>
</Position15>
<Position16>
<Filename Value="HeaderGenerator.pas"/>
<Caret Line="817" TopLine="802"/>
<Filename Value="..\Vulkan.pas"/>
<Caret Line="4394" Column="21" TopLine="4379"/>
</Position16>
<Position17>
<Filename Value="HeaderGenerator.pas"/>
<Caret Line="818" TopLine="802"/>
<Filename Value="..\Vulkan.pas"/>
<Caret Line="4700" Column="3" TopLine="4683"/>
</Position17>
<Position18>
<Filename Value="HeaderGenerator.pas"/>
<Caret Line="821" TopLine="802"/>
<Filename Value="..\Vulkan.pas"/>
<Caret Line="4698" Column="40" TopLine="4683"/>
</Position18>
<Position19>
<Filename Value="HeaderGenerator.pas"/>
<Caret Line="822" TopLine="802"/>
<Filename Value="..\Vulkan.pas"/>
<Caret Line="4699" Column="6" TopLine="4478"/>
</Position19>
<Position20>
<Filename Value="HeaderGenerator.pas"/>
<Caret Line="823" TopLine="802"/>
<Filename Value="..\Vulkan.pas"/>
<Caret Line="4434" Column="24" TopLine="4410"/>
</Position20>
<Position21>
<Filename Value="HeaderGenerator.pas"/>
<Caret Line="826" TopLine="802"/>
<Filename Value="..\Vulkan.pas"/>
<Caret Line="4435" Column="23" TopLine="4419"/>
</Position21>
<Position22>
<Filename Value="HeaderGenerator.pas"/>
<Caret Line="827" TopLine="802"/>
<Filename Value="..\Vulkan.pas"/>
<Caret Line="4436" Column="15" TopLine="4421"/>
</Position22>
<Position23>
<Filename Value="HeaderGenerator.pas"/>
<Caret Line="828" TopLine="802"/>
<Filename Value="..\Vulkan.pas"/>
<Caret Line="4435" TopLine="4421"/>
</Position23>
<Position24>
<Filename Value="HeaderGenerator.pas"/>
<Caret Line="268" TopLine="252"/>
<Filename Value="..\Vulkan.pas"/>
<Caret Line="4450" Column="112" TopLine="4431"/>
</Position24>
<Position25>
<Filename Value="HeaderGenerator.pas"/>
<Caret Line="269" TopLine="252"/>
<Filename Value="..\Vulkan.pas"/>
<Caret Line="4448" Column="6" TopLine="4425"/>
</Position25>
<Position26>
<Filename Value="HeaderGenerator.pas"/>
<Caret Line="270" TopLine="252"/>
<Filename Value="..\Vulkan.pas"/>
<Caret Line="4429" Column="27" TopLine="4416"/>
</Position26>
<Position27>
<Filename Value="HeaderGenerator.pas"/>
<Caret Line="271" TopLine="252"/>
<Filename Value="..\Vulkan.pas"/>
<Caret Line="4431" Column="67" TopLine="4416"/>
</Position27>
<Position28>
<Filename Value="HeaderGenerator.pas"/>
<Caret Line="272" TopLine="252"/>
<Filename Value="..\Vulkan.pas"/>
<Caret Line="4486" TopLine="4481"/>
</Position28>
<Position29>
<Filename Value="HeaderGenerator.pas"/>
<Caret Line="273" TopLine="252"/>
<Filename Value="..\Vulkan.pas"/>
<Caret Line="4689" Column="9" TopLine="4625"/>
</Position29>
<Position30>
<Filename Value="HeaderGenerator.pas"/>
<Caret Line="275" TopLine="252"/>
<Filename Value="..\Vulkan.pas"/>
<Caret Line="4445" TopLine="4438"/>
</Position30>
</JumpHistory>
</ProjectSession>
<Debugging>
<Watches Count="3">
<Watches Count="5">
<Item1>
<Expression Value="fName"/>
</Item1>
@@ -286,6 +327,12 @@
<Item3>
<Expression Value="result.fReturnValue.Typ"/>
</Item3>
<Item4>
<Expression Value="m.Typ"/>
</Item4>
<Item5>
<Expression Value="self.fName"/>
</Item5>
</Watches>
</Debugging>
</CONFIG>

+ 1997
- 0
projects/generator/uutlGenerics.pas
La diferencia del archivo ha sido suprimido porque es demasiado grande
Ver fichero


+ 135
- 129
projects/triangle/triangle.lps Ver fichero

@@ -4,7 +4,7 @@
<PathDelim Value="\"/>
<Version Value="9"/>
<BuildModes Active="Default"/>
<Units Count="16">
<Units Count="17">
<Unit0>
<Filename Value="triangle.lpr"/>
<IsPartOfProject Value="True"/>
@@ -18,29 +18,26 @@
<ComponentName Value="MainForm"/>
<HasResources Value="True"/>
<ResourceBaseClass Value="Form"/>
<EditorIndex Value="3"/>
<TopLine Value="72"/>
<CursorPos X="41" Y="98"/>
<EditorIndex Value="-1"/>
<TopLine Value="64"/>
<CursorPos Y="75"/>
<UsageCount Value="40"/>
<Loaded Value="True"/>
</Unit1>
<Unit2>
<Filename Value="..\Vulkan.pas"/>
<IsPartOfProject Value="True"/>
<EditorIndex Value="2"/>
<WindowIndex Value="1"/>
<TopLine Value="1634"/>
<CursorPos X="27" Y="1645"/>
<IsVisibleTab Value="True"/>
<TopLine Value="1480"/>
<CursorPos X="13" Y="1486"/>
<UsageCount Value="40"/>
<Loaded Value="True"/>
</Unit2>
<Unit3>
<Filename Value="..\utils\uvkuInstance.pas"/>
<IsPartOfProject Value="True"/>
<IsVisibleTab Value="True"/>
<WindowIndex Value="1"/>
<TopLine Value="42"/>
<CursorPos X="5" Y="57"/>
<EditorIndex Value="1"/>
<TopLine Value="83"/>
<CursorPos Y="96"/>
<UsageCount Value="38"/>
<Loaded Value="True"/>
</Unit3>
@@ -55,210 +52,219 @@
<Unit5>
<Filename Value="..\utils\uvkuInstanceFactory.pas"/>
<IsPartOfProject Value="True"/>
<EditorIndex Value="1"/>
<WindowIndex Value="1"/>
<TopLine Value="123"/>
<CursorPos X="3" Y="126"/>
<EditorIndex Value="-1"/>
<TopLine Value="77"/>
<CursorPos Y="97"/>
<UsageCount Value="32"/>
<Loaded Value="True"/>
</Unit5>
<Unit6>
<Filename Value="..\utils\uvkuPhysicalDevice.pas"/>
<IsPartOfProject Value="True"/>
<EditorIndex Value="4"/>
<TopLine Value="42"/>
<EditorIndex Value="2"/>
<TopLine Value="40"/>
<CursorPos X="14" Y="18"/>
<UsageCount Value="32"/>
<Loaded Value="True"/>
</Unit6>
<Unit7>
<Filename Value="..\utils\uvkuDevice.pas"/>
<IsPartOfProject Value="True"/>
<EditorIndex Value="-1"/>
<CursorPos X="29" Y="60"/>
<UsageCount Value="28"/>
</Unit7>
<Unit8>
<Filename Value="..\utils\uvkuDeviceFactory.pas"/>
<IsPartOfProject Value="True"/>
<EditorIndex Value="-1"/>
<TopLine Value="17"/>
<CursorPos X="38" Y="223"/>
<UsageCount Value="26"/>
</Unit8>
<Unit9>
<Filename Value="..\utils\uvkuPhysicalDeviceFactory.pas"/>
<IsPartOfProject Value="True"/>
<EditorIndex Value="-1"/>
<CursorPos Y="16"/>
<UsageCount Value="26"/>
</Unit9>
<Unit10>
<Filename Value="..\utils\uvkuAllocationHandler.pas"/>
<IsPartOfProject Value="True"/>
<EditorIndex Value="-1"/>
<TopLine Value="73"/>
<CursorPos Y="100"/>
<UsageCount Value="22"/>
</Unit10>
<Unit11>
<Filename Value="..\..\data\Vulkan.tpl"/>
<EditorIndex Value="-1"/>
<TopLine Value="44"/>
<CursorPos X="27" Y="22"/>
<UsageCount Value="14"/>
<DefaultSyntaxHighlighter Value="None"/>
</Unit7>
<Unit8>
</Unit11>
<Unit12>
<Filename Value="C:\Zusatzprogramme\Lazarus\fpc\3.1.1\source\packages\fcl-base\src\custapp.pp"/>
<UnitName Value="CustApp"/>
<EditorIndex Value="-1"/>
<TopLine Value="72"/>
<CursorPos X="14" Y="86"/>
<UsageCount Value="9"/>
</Unit8>
<Unit9>
</Unit12>
<Unit13>
<Filename Value="C:\Zusatzprogramme\Lazarus\fpc\3.1.1\source\rtl\inc\objpash.inc"/>
<EditorIndex Value="-1"/>
<TopLine Value="213"/>
<CursorPos X="21" Y="224"/>
<UsageCount Value="9"/>
</Unit9>
<Unit10>
</Unit13>
<Unit14>
<Filename Value="C:\Zusatzprogramme\Lazarus\lcl\include\customform.inc"/>
<EditorIndex Value="-1"/>
<TopLine Value="138"/>
<CursorPos Y="154"/>
<UsageCount Value="9"/>
</Unit10>
<Unit11>
</Unit14>
<Unit15>
<Filename Value="C:\Zusatzprogramme\Lazarus\fpc\3.1.1\source\rtl\objpas\sysutils\sysstrh.inc"/>
<EditorIndex Value="-1"/>
<TopLine Value="96"/>
<CursorPos X="10" Y="112"/>
<UsageCount Value="10"/>
</Unit11>
<Unit12>
<Filename Value="..\utils\uvkuDevice.pas"/>
<IsPartOfProject Value="True"/>
</Unit15>
<Unit16>
<Filename Value="..\Vulkan_old.pas"/>
<IsVisibleTab Value="True"/>
<CursorPos X="35" Y="14"/>
<UsageCount Value="28"/>
<Loaded Value="True"/>
</Unit12>
<Unit13>
<Filename Value="..\utils\uvkuDeviceFactory.pas"/>
<IsPartOfProject Value="True"/>
<EditorIndex Value="1"/>
<TopLine Value="17"/>
<CursorPos X="38" Y="223"/>
<UsageCount Value="26"/>
<Loaded Value="True"/>
</Unit13>
<Unit14>
<Filename Value="..\utils\uvkuPhysicalDeviceFactory.pas"/>
<IsPartOfProject Value="True"/>
<EditorIndex Value="-1"/>
<CursorPos Y="16"/>
<UsageCount Value="26"/>
</Unit14>
<Unit15>
<Filename Value="..\utils\uvkuAllocationHandler.pas"/>
<IsPartOfProject Value="True"/>
<EditorIndex Value="2"/>
<TopLine Value="73"/>
<CursorPos Y="100"/>
<UsageCount Value="22"/>
<WindowIndex Value="1"/>
<TopLine Value="2195"/>
<CursorPos X="3" Y="2211"/>
<UsageCount Value="10"/>
<Loaded Value="True"/>
</Unit15>
</Unit16>
</Units>
<JumpHistory Count="29" HistoryIndex="28">
<JumpHistory Count="24" HistoryIndex="23">
<Position1>
<Filename Value="..\utils\uvkuAllocationHandler.pas"/>
<Caret Line="94" TopLine="73"/>
<Filename Value="..\utils\uvkuInstance.pas"/>
<Caret Line="118" TopLine="103"/>
</Position1>
<Position2>
<Filename Value="..\utils\uvkuAllocationHandler.pas"/>
<Caret Line="95" TopLine="73"/>
<Filename Value="..\utils\uvkuInstance.pas"/>
<Caret Line="121" TopLine="103"/>
</Position2>
<Position3>
<Filename Value="..\utils\uvkuAllocationHandler.pas"/>
<Caret Line="96" TopLine="73"/>
<Filename Value="..\utils\uvkuInstance.pas"/>
<Caret Line="103" TopLine="88"/>
</Position3>
<Position4>
<Filename Value="..\utils\uvkuAllocationHandler.pas"/>
<Caret Line="97" TopLine="73"/>
<Filename Value="..\utils\uvkuInstance.pas"/>
<Caret Line="107" TopLine="88"/>
</Position4>
<Position5>
<Filename Value="..\utils\uvkuAllocationHandler.pas"/>
<Caret Line="98" TopLine="73"/>
<Filename Value="..\utils\uvkuInstance.pas"/>
<Caret Line="105" TopLine="88"/>
</Position5>
<Position6>
<Filename Value="..\utils\uvkuAllocationHandler.pas"/>
<Caret Line="99" TopLine="73"/>
<Filename Value="..\utils\uvkuInstance.pas"/>
<Caret Line="106" TopLine="88"/>
</Position6>
<Position7>
<Filename Value="..\utils\uvkuAllocationHandler.pas"/>
<Caret Line="100" TopLine="73"/>
<Filename Value="..\utils\uvkuInstance.pas"/>
<Caret Line="104" Column="3" TopLine="101"/>
</Position7>
<Position8>
<Filename Value="..\utils\uvkuDevice.pas"/>
<Caret Line="67" TopLine="52"/>
<Filename Value="..\utils\uvkuInstance.pas"/>
<Caret Line="120" TopLine="105"/>
</Position8>
<Position9>
<Filename Value="..\utils\uvkuDevice.pas"/>
<Caret Line="72" TopLine="52"/>
<Filename Value="..\utils\uvkuInstance.pas"/>
<Caret Line="91" TopLine="77"/>
</Position9>
<Position10>
<Filename Value="..\utils\uvkuDevice.pas"/>
<Caret Line="69" TopLine="52"/>
<Filename Value="..\utils\uvkuInstance.pas"/>
<Caret Line="92" TopLine="77"/>
</Position10>
<Position11>
<Filename Value="..\utils\uvkuDevice.pas"/>
<Caret Line="70" TopLine="52"/>
<Filename Value="..\utils\uvkuInstance.pas"/>
<Caret Line="93" TopLine="77"/>
</Position11>
<Position12>
<Filename Value="..\utils\uvkuDevice.pas"/>
<Caret Line="71" TopLine="52"/>
<Filename Value="..\utils\uvkuInstance.pas"/>
<Caret Line="95" TopLine="77"/>
</Position12>
<Position13>
<Filename Value="..\utils\uvkuDevice.pas"/>
<Caret Line="47" TopLine="35"/>
<Filename Value="..\Vulkan.pas"/>
<Caret Line="4430" Column="28" TopLine="4415"/>
</Position13>
<Position14>
<Filename Value="..\utils\uvkuDevice.pas"/>
<Caret Line="48" TopLine="35"/>
<Filename Value="..\utils\uvkuInstance.pas"/>
<Caret Line="87" Column="56" TopLine="77"/>
</Position14>
<Position15>
<Filename Value="..\utils\uvkuDevice.pas"/>
<Caret Line="49" TopLine="35"/>
<Filename Value="..\utils\uvkuInstance.pas"/>
<Caret Line="98" Column="5" TopLine="83"/>
</Position15>
<Position16>
<Filename Value="..\utils\uvkuDevice.pas"/>
<Caret Line="51" TopLine="35"/>
<Filename Value="..\utils\uvkuInstance.pas"/>
<Caret Line="95" TopLine="83"/>
</Position16>
<Position17>
<Filename Value="..\utils\uvkuDevice.pas"/>
<Caret Line="52" TopLine="35"/>
<Filename Value="..\utils\uvkuInstance.pas"/>
<Caret Line="96" TopLine="83"/>
</Position17>
<Position18>
<Filename Value="..\utils\uvkuDevice.pas"/>
<Caret Line="58" Column="27" TopLine="35"/>
<Filename Value="..\Vulkan.pas"/>
<Caret Line="2591" Column="3" TopLine="2576"/>
</Position18>
<Position19>
<Filename Value="..\utils\uvkuDevice.pas"/>
<Caret Line="72" TopLine="57"/>
<Filename Value="..\Vulkan.pas"/>
<Caret Line="2453" Column="40" TopLine="2437"/>
</Position19>
<Position20>
<Filename Value="..\utils\uvkuDeviceFactory.pas"/>
<Caret Line="77" TopLine="55"/>
<Filename Value="..\utils\uvkuInstance.pas"/>
<Caret Line="96" TopLine="83"/>
</Position20>
<Position21>
<Filename Value="..\utils\uvkuDeviceFactory.pas"/>
<Caret Line="150" TopLine="136"/>
<Filename Value="..\Vulkan.pas"/>
<Caret Line="4178" Column="3" TopLine="4163"/>
</Position21>
<Position22>
<Filename Value="uMainForm.pas"/>
<Caret Line="91" TopLine="69"/>
<Filename Value="..\Vulkan_old.pas"/>
<Caret Line="11" Column="31" TopLine="61"/>
</Position22>
<Position23>
<Filename Value="..\utils\uvkuDeviceFactory.pas"/>
<Caret Line="56" Column="48" TopLine="37"/>
<Filename Value="..\Vulkan_old.pas"/>
<Caret Line="2452" Column="20" TopLine="2427"/>
</Position23>
<Position24>
<Filename Value="..\utils\uvkuDeviceFactory.pas"/>
<Caret Line="149" Column="47" TopLine="133"/>
<Filename Value="..\Vulkan.pas"/>
<Caret Line="2999" Column="49" TopLine="2983"/>
</Position24>
<Position25>
<Filename Value="uMainForm.pas"/>
<Caret Line="92" Column="38" TopLine="77"/>
</Position25>
<Position26>
<Filename Value="uMainForm.pas"/>
<Caret Line="91" Column="25" TopLine="74"/>
</Position26>
<Position27>
<Filename Value="..\utils\uvkuDeviceFactory.pas"/>
<Caret Line="183" Column="31" TopLine="172"/>
</Position27>
<Position28>
<Filename Value="..\utils\uvkuDeviceFactory.pas"/>
<Caret Line="184" Column="66" TopLine="170"/>
</Position28>
<Position29>
<Filename Value="..\utils\uvkuDeviceFactory.pas"/>
<Caret Line="151" Column="32" TopLine="134"/>
</Position29>
</JumpHistory>
</ProjectSession>
<Debugging>
<BreakPoints Count="3">
<Item1>
<Kind Value="bpkSource"/>
<WatchScope Value="wpsLocal"/>
<WatchKind Value="wpkWrite"/>
<Source Value="uMainForm.pas"/>
<Line Value="100"/>
</Item1>
<Item2>
<Kind Value="bpkSource"/>
<WatchScope Value="wpsLocal"/>
<WatchKind Value="wpkWrite"/>
<Source Value="uMainForm.pas"/>
<Line Value="75"/>
</Item2>
<Item3>
<Kind Value="bpkSource"/>
<WatchScope Value="wpsLocal"/>
<WatchKind Value="wpkWrite"/>
<Source Value="..\utils\uvkuInstance.pas"/>
<Line Value="95"/>
</Item3>
</BreakPoints>
</Debugging>
</CONFIG>

+ 1
- 0
projects/utils/uvkuInstance.pas Ver fichero

@@ -95,6 +95,7 @@ begin
e := vkCreateInstance(aCreateInfo, fAllocCallbacks, @fHandle);
if (e < VK_SUCCESS) then
raise TvkuErrorException.Create('unable to create vulkan instance', e);
LoadVulkanCommands(fHandle);
end;

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////


Cargando…
Cancelar
Guardar