profile
viewpoint
Mark Ingram MarkIngramUK Serif (Europe)

MarkIngramUK/XamlIslands 11

Demonstrating the use of Xaml Islands in Win32 C++ applications

MarkIngramUK/CMakeUWP 3

Minimal project for creating a UWP application using CMake build system

MarkIngramUK/DirectComposition 0

Minimal project for demonstrating DirectComposition

MarkIngramUK/fasttrig 0

Investigating the performance of Intel trigonometric intrinsics

MarkIngramUK/fg 0

Rendering abstraction which describes a frame as a directed acyclic graph of render tasks and resources.

MarkIngramUK/HeapProfile 0

Command line application for measuring heap allocation and free times

MarkIngramUK/llvm-project 0

The LLVM Project is a collection of modular and reusable compiler and toolchain technologies. Note: the repository does not accept github pull requests at this moment. Please submit your patches at http://reviews.llvm.org.

MarkIngramUK/meson 0

The Meson Build System

MarkIngramUK/ocl-compile-benchmark 0

Test project to demonstrate poor compilation performance in AMD OpenCL driver

push eventMarkIngramUK/fasttrig

Mark Ingram

commit sha eb8aa0102f581671942bad21d7d0f63aa7924b98

Initial commit

view details

push time in 6 days

push eventMarkIngramUK/fasttrig

Mark Ingram

commit sha 2cea0173d87a4ca49986cf367439adb7c2f4eca8

Initial commit

view details

push time in 6 days

push eventMarkIngramUK/fasttrig

Mark Ingram

commit sha 081c6d682cbdb1c59437f7ac986854d19bff84bc

Added MIT licence

view details

push time in 6 days

create barnchMarkIngramUK/fasttrig

branch : main

created branch time in 6 days

created repositoryMarkIngramUK/fasttrig

Investigating the performance of Intel trigonometric intrinsics

created time in 6 days

issue commentmicrosoft/msix-packaging

[Question] What is the payload file content type used for?

Thanks for the response @anarvekar-msft . We're using the packaging APIs, so I guess my confusion comes from having to specify both a content type and a compression option to IAppxPackageWriter::AddPayloadFile.

Looking at https://github.com/microsoft/msix-packaging/blob/c8af99506ffd0c1513fad39cdadfac281723c3e3/src/msix/pack/AppxPackageWriter.cpp#L162 I can see several checks for if (contentType != nullptr), so I think we should be fine to pass a nullptr for the contentType param of AddPayloadFile, despite the docs not listing it as an optional param. That would avoid us also having a similar map of filename extension to content type (in order to pass the "correct" content type through to AddPayloadFile). Is that OK?

MarkIngramUK

comment created time in a month

startedmicrosoft/OpenCLOn12

started time in a month

issue openedmicrosoft/msix-packaging

[Question] What is the payload file content type used for?

What is the payload file content used for in an MSIX, and is it important that the type uses the most accurate value (e.g. image/jpeg for a JPEG, rather than application/octet-stream)?

created time in a month

pull request commentmicrosoft/WindowsAppSDK

Add Licensing API

Hi, thanks for all the info! We only bootstrap the framework for developer builds within Visual Studio. We use CMake, so don't have any "special" Visual Studio projects which manage this stuff for us (just normal C++ projects generated via CMake), where the dev builds will bootstrap the framework, but for retail builds it won't, as the build server will create an MSIX package after compilation.

DrusTheAxe

comment created time in 2 months

issue commentKhronosGroup/glTF

Composing Node's local transformation matrix

Thanks @javagl !

(without 'post') would have the same meaning and be less confusing.

100% agree.

it's always confusing...

Again... 100% agree 😂

MarkIngramUK

comment created time in 2 months

issue commentKhronosGroup/glTF

Composing Node's local transformation matrix

Thanks - that's kind of my point I think. If I'm converting T, R, S to my own Matrix type in order to do the multiplications, the spec shouldn't mention words like postmultiplied. As if my own internal Matrix type is stored row-major, then I would need to premultiply to get the correct result?

MarkIngramUK

comment created time in 2 months

issue openedKhronosGroup/glTF

Composing Node's local transformation matrix

From 3.5.3 Transformations

To compose the local transformation matrix, TRS properties MUST be converted to matrices and postmultiplied in the T * R * S order; first the scale is applied to the vertices, then the rotation, and then the translation.

Does this need to specify column-major matrices? If the user converted the TRS properties to row-major matrices, I assume they would need to be premultiplied in the S * R * T order? e.g. XMMATRIX

created time in 2 months

pull request commentmicrosoft/WindowsAppSDK

Add Licensing API

I'm looking for a bit more info on this new function - we manually call MddBootstrapInitialize, so should that now be prefaced with WindowsAppRuntime_InstallLicenses? I've tested the 1.0 release, and WindowsAppRuntime_InstallLicenses doesn't need to be called for the app to start, so it doesn't appear to be required at this point in time? I'm not clear what this function is for, or when it's needed; can you offer any further info?

DrusTheAxe

comment created time in 2 months

issue openedKhronosGroup/glTF

texture.sampler auto filtering

The documentation says:

5.29.1. texture.sampler The index of the sampler used by this texture. When undefined, a sampler with repeat wrapping and auto filtering SHOULD be used.

Type: integer

Required: No

Minimum: >= 0

repeat wrapping is obvious, but what does auto filtering mean? The filtering options are:

9728 NEAREST

9729 LINEAR

9984 NEAREST_MIPMAP_NEAREST

9985 LINEAR_MIPMAP_NEAREST

9986 NEAREST_MIPMAP_LINEAR

9987 LINEAR_MIPMAP_LINEAR

The phrase "auto filtering" is used 4 times without explanation in the spec.

created time in 2 months

issue commentmicrosoft/DirectXShaderCompiler

Question: Detecting driver support for dxc compiled shaders

Hi @pow2clk , thanks for the info!

I have a feeling it'll be the lack of DXIL support in the driver. We have a copy of the older drivers, so I can try adding the D3D12_FEATURE_DATA_SHADER_MODEL query, and see what they return. Given that dxc upgrades SM 5.1 => 6.0, should we be looking for a minimum of D3D_SHADER_MODEL_6_0 (similar to the GetHighestShaderModel example), even though we specified -T ps_5_1 on the command line?

MarkIngramUK

comment created time in 2 months

delete branch MarkIngramUK/setup-msbuild

delete branch : patch-1

delete time in 2 months

pull request commentmicrosoft/setup-msbuild

Updated README.md to include vs-prerelease and msbuild-architecture

Thanks @timheuer , looks good 😊

MarkIngramUK

comment created time in 2 months

PR opened microsoft/setup-msbuild

Updated README.md to include vs-prerelease and msbuild-architecture

Inspired by #67 I thought I would propose an update to the readme to cover the two missing inputs.

+21 -0

0 comment

1 changed file

pr created time in 2 months

push eventMarkIngramUK/setup-msbuild

Mark Ingram

commit sha ce3de01b52669a228622f9e280b9f068c7cf4163

Updated README.md to include vs-prerelease and msbuild-architecture Inspired by #67 I thought I would propose an update to the readme to cover the two missing inputs.

view details

push time in 2 months

fork MarkIngramUK/setup-msbuild

A GitHub Action to facilitate configuring MSBuild in the workflow PATH for building .NET Framework applications.

fork in 2 months

issue commentmicrosoft/setup-msbuild

[Documentation] Add usage example of msbuild-architecture input

vs-prerelease isn't mentioned in the readme either. I had to dig through the source code to find out if it was possible.

LanceMcCarthy

comment created time in 2 months

issue openeddarenm/Setup-VSTest

Unable to specify prerelease versions of Visual Studio

microsoft/setup-msbuild allows the following input:

    - name: Add MSBuild to PATH
      uses: microsoft/setup-msbuild@v1.1
      with:
        vs-prerelease: true

Which adds the -prerelease flag to the command line to vswhere:

vswhere.exe -products * -requires Microsoft.Component.MSBuild -property installationPath -latest -prerelease

This allows setup-msbuild to work with the windows-2022 runner which ships with Visual Studio 2022 Preview installed. Without the -prerelease flag, vswhere will not find MSBuild / VSTest.

created time in 2 months

issue commentKhronosGroup/glTF

Question: Why are Mesh Primitive attributes implemented as an object?

Excellent answer, thank you.

MarkIngramUK

comment created time in 3 months

issue openedmicrosoft/DirectXShaderCompiler

Question: Detecting driver support for dxc compiled shaders

We're using dxc to compile shaders with SM5.1. Unfortunately, on some older AMD FirePro drivers, we're seeing errors from CreateGraphicsPipelineState such as:

D3D12 ERROR: ID3D12Device::CreateVertexShader: Shader is corrupt or in an unrecognized format

It's easily resolved by updating the drivers to the most recent version (from AMD's site, not from Windows AutoUpdate). But, we would like to diagnose this issue ahead of time, and present the user with relevant help. Is there any way to check driver support for dxc shaders, other than just attempting to create a pipeline state with a shader and checking for this specific error result?

FWIW, our command line flags expand to something similar to (in debug):

dxc.exe input.ps -T ps_5_1 -Fh output.h -Vn output -E main -Zi -Qembed_debug

created time in 3 months

issue openedKhronosGroup/glTF

Question: Why are Mesh Primitive attributes implemented as an object?

I'm implementing a glTF loader for the first time, and out of curiosity, I'm wondering why Mesh Primitive attributes are implemented as an object? Why not have individual elements for each attribute?

e.g. Why is it spec'd like this...

"primitives" : [
    {
        "attributes" : {
            "POSITION" : 0,
            "NORMAL" : 1,
            "TEXCOORD_0" : 2
        },
        "indices" : 3,
        "material" : 0
    }
]

...rather than this?

"primitives" : [
    {
        "position" : 0,
        "normal" : 1,
        "texCoord_0" : 2,
        "indices" : 3,
        "material" : 0
    }
]

created time in 3 months

issue commentmicrosoft/winget-cli

Cannot use Winget. Winget Not Recognized Error.

@denelon I'm wondering if it's related to https://github.com/microsoft/WindowsAppSDK/issues/1599 ? I have WindowsAppSDK preview-1 and preview-2 installed on this machine. I can send winget list but as it's on my work machine I'd prefer to send it privately...

Reno-Sifana

comment created time in 3 months

issue commentmicrosoft/winget-cli

Cannot use Winget. Winget Not Recognized Error.

I had the same issue today, winget used to work fine, but recently, the environment variable must has just disappeared... Adding it back in fixed the problem.

Reno-Sifana

comment created time in 3 months

issue commentmicrosoft/winget-pkgs

Package Request: Ninja build

Echoing request for Ninja Build. The first thing I do on a new machine is install LLVM, CMake and then Ninja. The first two are done via winget nicely, but then I have to manually grab Ninja.

gocarlos

comment created time in 3 months

more